{"adoption": {"forks": 351, "observed_at": "2026-08-28T04:03:13.502940+00:00", "stars": 1013}, "canonical_url": "https://ross.abutalabs.com/products/python-exe-unpacker", "card": {"archived": false, "artifact_type": "cli-tool", "description": "A helper script for unpacking and decompiling EXEs compiled from python code. ", "domain": ["security", "reverse-engineering", "developer-tools"], "enriched": true, "function": ["reverse-engineering", "parser", "security", "cli"], "health_score": 20, "homepage": null, "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["WithSecureLabs/python-exe-unpacker"], "name": "WithSecureLabs/python-exe-unpacker", "platform": ["python", "cli", "windows"], "pushed_at": "2024-08-15T14:36:28+00:00", "repo": "WithSecureLabs/python-exe-unpacker", "stars": 1013, "tags": ["malware-analysis", "pyinstaller", "py2exe", "decompiler", "unpacker", "yara", "command-line", "linux", "macos"], "topics": ["countercept", "unpacker"], "urls": [], "use_cases": ["unpack pyinstaller exe", "decompile python executable back to source", "analyze malware written in python", "extract pyc files from py2exe binary", "detect if an exe was compiled from python", "reverse engineer pyinstaller-packed malware sample"], "what_it_is": "A Python CLI script that unpacks and decompiles Windows EXEs compiled from Python code, supporting executables built with py2exe and PyInstaller. It glues together community tools and uses YARA rules to detect Python-compiled executables, including handling encrypted PyInstaller bytecode.", "when_to_avoid": ["the executable was packed with tools other than py2exe or PyInstaller", "you need actively maintained support for modern PyInstaller versions", "you need a GUI-based reverse engineering suite rather than a script"], "when_to_choose": ["analyzing a suspected Python-compiled Windows executable during malware triage", "you need to recover Python source from py2exe or PyInstaller binaries", "you want automated YARA-based detection of Python packers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/python-exe-unpacker", "repo": "WithSecureLabs/python-exe-unpacker", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "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:13.502940+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:13.502940+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:37.848268+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "55be7ce29157db4d19a79babdef82b9f6fb7656d61cfc8189f49d3dc9e8dbe7f", "fetched_at": "2026-08-28T04:03:13.502940+00:00", "kind": "readme", "missing": false, "url": "https://github.com/WithSecureLabs/python-exe-unpacker"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3194, "days_push": 748, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}