
Android-Anwendungsidentifikator für Packer, Schutzprogramme, Verschleierer und Besonderheiten - PEiD für Android
APKiD gibt Ihnen Informationen darüber, wie eine APK erstellt wurde. Es identifiziert viele Compiler, Packer, Obfuskatoren und andere seltsame Dinge. Es ist PEiD für Android.

Weitere Informationen zur Verwendung dieses Tools finden Sie unter:
pip install apkid
Sie können APKiD auch mit Docker ausführen! Dazu müssen Sie natürlich git und Docker installiert haben.
So verwenden Sie Docker:
git clone https://github.com/rednaga/APKiD
cd APKiD/
docker build . -t rednaga:apkid
docker/apkid.sh ~/reverse/targets/android/example/example.apk
[+] APKiD 2.1.0 :: from RedNaga :: rednaga.io
[*] example.apk!classes.dex
|-> compiler : dx
usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
[--entry-max-scan-size ENTRY_MAX_SCAN_SIZE] [--typing {magic,filename,none}] [-j]
[-o DIR]
[FILE [FILE ...]]
APKiD - Android Application Identifier v2.1.2
positional arguments:
FILE apk, dex, or directory
optional arguments:
-h, --help show this help message and exit
-v, --verbose log debug messages
scanning:
-t TIMEOUT, --timeout TIMEOUT Yara scan timeout (in seconds)
-r, --recursive recurse into subdirectories
--scan-depth SCAN_DEPTH how deep to go when scanning nested zips
--entry-max-scan-size ENTRY_MAX_SCAN_SIZE max zip entry size to scan in bytes, 0 = no limit
--typing {magic,filename,none} method to decide which files to scan
output:
-j, --json output scan results in JSON format
-o DIR, --output-dir DIR write individual results here (implies --json)
Wenn Sie auf eine APK oder DEX stoßen, die APKiD nicht erkennt, öffnen Sie bitte ein GitHub-Issue und teilen Sie uns Folgendes mit:
Wir sind offen für jede Art von Konzept, das Sie für „etwas Interessantes“ zum Erkennen haben. Beschränken Sie sich also nicht nur auf Packer, Compiler oder Obfuskatoren. Wenn es einen interessanten Anti-Disassembler, Anti-VM oder Anti-* Trick gibt, erstellen Sie bitte ein Issue.
Pull-Anfragen sind willkommen. Wenn Sie eine neue Regel einreichen, stellen Sie sicher, dass Sie einen Datei-Hash der APK / DEX angeben, damit wir die Regel überprüfen können.
Dieses Tool ist unter einer dualen Lizenz verfügbar: einer kommerziellen Lizenz für Closed-Source-Projekte und einer GPL-Lizenz, die in Open-Source-Software verwendet werden kann.
Je nach Ihren Bedürfnissen müssen Sie eine davon auswählen und deren Richtlinien befolgen. Einzelheiten zu den Richtlinien und Vereinbarungen für jeden Lizenztyp finden Sie in den Dateien LICENSE.COMMERCIAL und LICENSE.GPL.
Wenn Sie die neueste Version installieren möchten, um Änderungen vorzunehmen, eigene Regeln zu entwickeln usw., klonen Sie einfach dieses Repository, kompilieren Sie die Regeln und installieren Sie das Paket im bearbeitbaren Modus:
git clone https://github.com/rednaga/APKiD
cd APKiD
python prep-release.py
pip install -e .[dev,test]
Wenn das oben Genannte aufgrund von Berechtigungsfehlern, die von Ihrem lokalen Rechner und dem Installationsort von Python abhängen, nicht funktioniert, versuchen Sie das Flag --user anzugeben. Dies ist wahrscheinlich erforderlich, wenn Sie keine virtuelle Umgebung verwenden:
pip install -e .[dev,test] --user
Wenn Sie eine der Regeln aktualisieren, führen Sie unbedingt prep-release.py aus, um sie neu zu kompilieren.
Wenn Sie Windows verwenden, installieren Sie Yara 3.11.0 und yara-python-dex vor dem Kompilieren
pip install yara-python==3.11.0
pip install wheel
pip wheel --wheel-dir=yara-python-dex git+https://github.com/MobSF/yara-python-dex.git
pip install --no-index --find-links=yara-python-dex yara-python-dex
Stellen Sie bei der Veröffentlichung einer neuen Version sicher, dass die Version in apkid/init.py aktualisiert wurde.
Informationen zur Ausführung von Tests finden Sie in .travis.yml. Dort sehen Sie, wie die Entwicklungs- und Testumgebungen eingerichtet sind und wie Tests ausgeführt werden.
Aktualisieren Sie die kompilierten Regeln, die Readme, erstellen Sie das Paket und laden Sie es auf PyPI hoch:
./prep-release.py readme
rm -f dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
Weitere Informationen finden Sie unter Packaging Projects.