Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
APKiD — Identifiant d'application Android pour Packers, Protectors, Obfuscators et Oddities - PEiD for Android | Kitploit
Outils/GitHubGitHub/rednaga/apkid
Sécurité AndroidAnalyse StatiquePentesting d'Applications MobilesRétro-ingénierieAnalyse de MalwareSécurité MobileTop en Sécurité Android n°8Top en Pentesting d'Applications Mobiles n°9Top en Sécurité Mobile n°9
2.6k34287il y a 21 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHubrednaga/apkid

APKiD

Identifiant d'application Android pour Packers, Protectors, Obfuscators et Oddities - PEiD for Android

Voir le dépôt

APKiD

Build Status PyPI PyPI - Python Version PyPI - Format PyPI - License

APKiD vous fournit des informations sur la façon dont un APK a été créé. Il identifie de nombreux compilateurs, packers, obfuscateurs et autres éléments étranges. C'est le PEiD pour Android.

Screen Shot 2019-05-07 at 10 55 00 AM

Pour plus d'informations sur les usages possibles de cet outil, consultez :

  • Android Compiler Fingerprinting
  • Detecting Pirated and Malicious Android Apps with APKiD
  • APKiD: PEiD for Android Apps (BlackHat EU/UK Arsenal 2018)
  • APKiD: Fast Identification of AppShielding Products
  • APKiD: Fast Identification of Mobile RASP SDKs (BlackHat USA Arsenal 2023)

Installation

pip install apkid

Docker

Vous pouvez également exécuter APKiD avec Docker ! Bien sûr, cela nécessite que git et Docker soient installés.

Voici comment utiliser 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 3.1.0 :: from RedNaga :: rednaga.io
[*] example.apk!classes.dex
 |-> compiler : dx

Utilisation

usage: apkid [-h] [-v] [-t TIMEOUT] [-r] [--scan-depth SCAN_DEPTH]
             [--entry-max-scan-size ENTRY_MAX_SCAN_SIZE] [--typing {magic,filename,none}] [-st] [-j]
             [-o DIR] [-m] [--print-filter RULES] [--include-types]
             [FILE ...]

APKiD - Android Application Identifier v3.2.0

positional arguments:
  FILE                                       apk, dex, or directory (default: None)

options:
  -h, --help                                 show this help message and exit
  -v, --verbose                              log debug messages (default: False)

scanning:
  -t TIMEOUT, --timeout TIMEOUT              Yara scan timeout (in seconds) (default: 30)
  -r, --recursive                            recurse into subdirectories (default: False)
  --scan-depth SCAN_DEPTH                    how deep to go when scanning nested zips (default: 2)
  --entry-max-scan-size ENTRY_MAX_SCAN_SIZE  max zip entry size to scan in bytes, 0 = no limit
                                             (default: 104857600)
  --typing {magic,filename,none}             method to decide which files to scan (default: magic)
  -st, --scan-trackers                       scans for embedded trackers (default: False)

output:
  -j, --json                                 output scan results in JSON format (default: False)
  -o DIR, --output-dir DIR                   write individual results here (implies --json)
                                             (default: None)
  -m, --print-matches                        print matched rules and strings to stdout (default:
                                             False)
  --print-filter RULES                       filter printed matches: comma-separated rule names to
                                             include ('+' or no prefix) or exclude ('-' prefix).
                                             Implies --print-matches. Use '=' when the value starts
                                             with '-', e.g. --print-filter=-is_apk,-is_signed_apk
                                             (default: )
  --include-types                            include file type info for matched files (default:
                                             False)

Soumettre de nouveaux packers / compilateurs / obfuscateurs

Si vous rencontrez un APK ou un DEX qu'APKiD ne reconnaît pas, veuillez ouvrir une issue GitHub et nous indiquer :

  • ce que vous pensez qu'il est -- obfusqué, packé, etc.
  • le hash du fichier (MD5, SHA1 ou SHA256)

Nous sommes ouverts à tout type de concept que vous pourriez avoir pour « quelque chose d'intéressant » à détecter, donc ne vous limitez pas uniquement aux packers, compilateurs ou obfuscateurs. S'il existe une astuce intéressante d'anti-désassembleur, anti-vm, anti-*, veuillez créer une issue.

Les pull requests sont les bienvenues. Si vous soumettez une nouvelle règle, assurez-vous d'inclure un hash de fichier de l'APK / DEX afin que nous puissions vérifier la règle.

Licence

Cet outil est disponible sous une double licence : une licence commerciale adaptée aux projets à code source fermé et une licence GPL utilisable dans les logiciels open source.

Selon vos besoins, vous devez en choisir une et respecter ses politiques. Le détail des politiques et accords pour chaque type de licence est disponible dans les fichiers LICENSE.COMMERCIAL et LICENSE.GPL.

Hacking

Si vous souhaitez installer la dernière version afin d'apporter des modifications, de développer vos propres règles, etc., il suffit de cloner ce dépôt, de compiler les règles et d'installer le paquet en mode éditable :

git clone https://github.com/rednaga/APKiD
cd APKiD
python prep-release.py
pip install -e .[dev,test]

La commande python prep-release.py ci-dessus nécessite que les paquets yara-python et yara-python-dex soient déjà installés.

Si ce qui précède ne fonctionne pas, en raison d'erreurs de permission dépendant de votre machine locale et de l'emplacement où Python a été installé, essayez de spécifier l'option --user. Cela est probablement nécessaire si vous n'utilisez pas d'environnement virtuel :

pip install -e .[dev,test] --user

Si vous modifiez l'une des règles, veillez à exécuter prep-release.py pour les recompiler.

Si vous utilisez Windows, désinstallez toutes les versions précédentes de Yara et installez Yara 3.11.0 et yara-python-dex avant la compilation

pip uninstall -y yara-python yara-python-dex
pip install yara-python==3.11.0 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

Pour les mainteneurs de paquets

Lors de la publication d'une nouvelle version, assurez-vous que la version a été mise à jour dans apkid/init.py.

En ce qui concerne l'exécution des tests, consultez .travis.yml pour voir comment les environnements de développement et de test sont configurés et comment les tests sont exécutés.

Mettez à jour les règles compilées, le readme, construisez le paquet et téléversez-le sur PyPI :

./prep-release.py readme
rm -f dist/*
python setup.py sdist bdist_wheel
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*

Pour plus d'informations, consultez Packaging Projects.

Télécharger l’outil