Tool
APKiD
PEiD-style identifier for Android packages from RedNaga. It scans APK and DEX files, nested ZIP entries and the native ELF libraries, PE DLLs and resources inside them with YARA rules, using the yara-python-dex DEX module, and reports the compilers, packers, protectors, obfuscators and anti-VM or anti-disassembly tricks it recognizes, per file or as JSON. Optional tracker rules attributed to the Exodus API flag embedded tracking SDKs; APKiD only identifies, and does not unpack or deobfuscate anything.
Requirements & limits
- Latest release at review: 3.1.0, tagged and uploaded to PyPI on 2026-04-09; the reviewed master commit of 2026-10-07 adds later rules. pip install apkid pulls in yara-python-dex>=1.0.1. setup.py declares no python_requires and its classifiers name Python 3.6 and 3.7, while Travis CI uses 3.9 and the Dockerfile uses Python 3.11; on Windows the README pins Yara 3.11.0 and a separately built yara-python-dex wheel.
- Provide APK, DEX or directory inputs you are entitled to examine. By default the CLI picks entries by file magic, searches nested ZIPs two levels deep, scans entries up to 100 MB and stops each YARA scan after 30 seconds; tracker rules are compiled separately and apply only with --scan-trackers. The README's usage block still shows v2.1.2 and omits --scan-trackers and --include-types.
- Detection is signature-based, so unrecognized or modified packers and protectors go unreported; the README asks for unknown samples by file hash to write new rules. Tests compile and lint the rules and scan generated ZIP files; the repository has no sample corpus, and nothing was scanned in this review.
- Dual-licensed: GPL-3.0, or a perpetual commercial license that allows distributing APKiD binaries and rules in commercial products but no source redistribution, which is why GitHub reports NOASSERTION. The reviewed sources establish no REA connection.
About this entry
- Type
- Tool
- Category
- Android tools
- Relationship
- Foundation tool
- Targets
- App
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · rednaga/APKiD · Revision 5cb6b25
- apkid/main.py GitHub · rednaga/APKiD · Revision 5cb6b25
- apkid/apkid.py GitHub · rednaga/APKiD · Revision 5cb6b25
- apkid/rules.py GitHub · rednaga/APKiD · Revision 5cb6b25
- apkid/rules/apk/trackers.yara GitHub · rednaga/APKiD · Revision 5cb6b25
- setup.py GitHub · rednaga/APKiD · Revision 5cb6b25
- apkid/__init__.py GitHub · rednaga/APKiD · Revision 5cb6b25
- Dockerfile GitHub · rednaga/APKiD · Revision 5cb6b25
- .travis.yml GitHub · rednaga/APKiD · Revision 5cb6b25
- tests/test_scanner.py GitHub · rednaga/APKiD · Revision 5cb6b25
- LICENSE.GPL GitHub · rednaga/APKiD · Revision 5cb6b25
- LICENSE.COMMERCIAL GitHub · rednaga/APKiD · Revision 5cb6b25
- https://github.com/rednaga/APKiD/releases/tag/v3.1.0
- https://pypi.org/project/apkid/3.1.0/
More in Apps
- dex2jar · Tool
- apk.sh · Tool
- Aegis: trace a login-code calculation · Case study
- Notion: trace the clipboard bridge · Case study
- PicoPrint: LX-D02 printer investigation · Case study
- ReaCut: video-editor reconstruction · Case study