{"adoption": {"forks": 453, "observed_at": "2026-08-28T04:03:31.252046+00:00", "stars": 1083}, "canonical_url": "https://ross.abutalabs.com/products/help_tool", "card": {"archived": false, "artifact_type": "application", "description": "推理算法助手(降维打击) ", "domain": ["security", "reverse-engineering", "developer-tools"], "enriched": true, "function": ["cryptography", "security", "reverse-engineering", "gui", "machine-learning"], "health_score": 29, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["HZJQF/help_tool"], "name": "HZJQF/help_tool", "platform": ["windows", "python"], "pushed_at": "2024-10-25T02:29:47+00:00", "repo": "HZJQF/help_tool", "stars": 1083, "tags": ["encryption-algorithm-identification", "decryption", "penetration-testing", "pyqt5", "ctf", "web-reverse-engineering", "desktop"], "topics": [], "urls": [], "use_cases": ["identify which encryption algorithm produced a ciphertext", "recover plaintext from encrypted request parameters during web reverse engineering", "crack MD5 or SHA hashes of captured parameters", "decrypt AES/DES ciphertext with unknown mode and padding", "analyze encrypted parameters in Android apps via memory dumping", "learn how common encryption algorithms behave in practice"], "what_it_is": "A PyQt5-based Windows GUI tool that uses inference models to identify the encryption or hashing algorithm behind a given ciphertext and attempts to recover the plaintext. It supports algorithms like AES, DES, 3DES, SM4, MD5, SHA, and SM3, and includes a rooted-Android memory-dump feature for analyzing encrypted parameters in mobile apps.", "when_to_avoid": ["you need a general-purpose cryptography library for production code", "you need Linux or macOS support (currently Windows-only)", "you expect guaranteed decryption without any known plaintext or key hints"], "when_to_choose": ["you are reverse-engineering a website or app and need to quickly identify parameter encryption", "you have ciphertext samples and want to guess the algorithm and recover plaintext fast", "you do security research on captured traffic with encrypted fields"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/help_tool", "repo": "HZJQF/help_tool", "role": "main", "score": 24}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:31.252046+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:50:12.251319+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "60cad2c7fea8a1192831cdcbfac9aa10c5c270481e74470caddd1f002ff7197e", "fetched_at": "2026-08-28T04:03:31.252046+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HZJQF/help_tool"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 52, "rhythm": 40}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 732, "days_push": 678, "days_rel": 683, "gap_med": 2.0, "n_releases_24m": 9}, "score": 24, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}