APKInSpector est un outil conçu pour fournir des informations détaillées sur la structure ZIP des fichiers APK, offrant la capacité d'extraire du contenu et de décoder le fichier AndroidManifest.xml. Ce qui distingue APKInspector, c'est son adhésion à la spécification ZIP lors de l'analyse APK, éliminant le besoin de dépendance à l'égard des bibliothèques externes. Cette indépendance permet à ApkInspector d'être très adaptable, émulant efficacement le processus d'installation d'Android pour les APK qui ne peuvent pas être analysés à l'aide de bibliothèques standard. L'objectif principal est de permettre aux utilisateurs d'effectuer une analyse statique sur les APK qui utilisent des techniques d'évasion, en particulier lorsque les méthodes conventionnelles s'avèrent inefficaces.
Veuillez consulter cet article de blog pour plus de détails.
apkinspector est disponible via PYPI
pip install apkInspector
ou vous pouvez cloner ce référentiel et construire et installer localement:
git clone https://github.com/erev0s/apkInspector.git
cd apkInspector
poetry build
pip install dist/apkInspector-Version_here.tar.gz
La documentation créée basée sur les docstrings est disponible via Sphinx:
https://erev0.github.io/apkinspector/
ApkInspector propose un outil de ligne de commande avec le même nom, avec les options suivantes;
$ apkInspector -h
usage: apkInspector [-h] [-apk APK] [-f FILENAME] [-ll] [-lc] [-la] [-e] [-x] [-xa] [-m] [-sm SPECIFY_MANIFEST] [-a] [-v]
apkInspector is a tool designed to provide detailed insights into the zip structure of APK files, offering the capability to extract
content and decode the AndroidManifest.xml file.
options:
-h, --help show this help message and exit
-apk APK APK to inspect
-f FILENAME, --filename FILENAME
Filename to provide info for
-ll, --list-local List all files by name from local headers
-lc, --list-central List all files by name from central directory header
-la, --list-all List all files from both central directory and local headers
-e, --export Export to JSON. What you list from the other flags, will be exported
-x, --extract Attempt to extract the file specified by the -f flag
-xa, --extract-all Attempt to extract all files detected in the central directory header
-m, --manifest Extract and decode the AndroidManifest.xml
-sm SPECIFY_MANIFEST, --specify-manifest SPECIFY_MANIFEST
Pass an encoded AndroidManifest.xml file to be decoded
-a, --analyze Check an APK for static analysis evasion techniques
-v, --version Retrieves version information
Le composant de la bibliothèque d'ApkInspector est conçu avec une extensibilité à l'esprit, permettant à d'autres outils d'intégrer de manière transparente ses fonctionnalités. Cette flexibilité permet aux développeurs de tirer parti des capacités d'APKInspector dans leurs propres applications et flux de travail. Pour faciliter une compréhension et une facilité d'utilisation claires, les docstrings complets accompagnent toutes les méthodes principales, fournissant des informations précieuses sur leur fonctionnalité, leurs arguments attendus et leurs valeurs de retour. Ces explications détaillées servent de guides inestimables, garantissant que les développeurs peuvent rapidement saisir le fonctionnement interne des caractéristiques fondamentales d'Apkinspector et les incorporer en douceur dans leurs projets.
L'interface de ligne de commande (CLI) sert d'illustration pratique de la façon dont les méthodes fournies par la bibliothèque ont été utilisées.
Veuillez jeter un œil aux résultats de Testing ApkInspector contre un ensemble d'applications Play Play Store
Nous accueillons les contributions de la communauté open source pour aider à améliorer et à améliorer ApkInspector. Que vous soyez un développeur, un testeur ou un passionné de documentation, vos contributions sont précieuses.
Il convient de garder à l'esprit qu'Apkinspector est un projet en évolution, un travail en cours. En tant que tels, les utilisateurs doivent anticiper des bogues occasionnels et anticiper les mises à jour et les mises à niveau alors que l'outil continue de mûrir et d'améliorer sa fonctionnalité. Vos commentaires et contributions à ApkInspector sont très appréciés alors que nous travaillons ensemble pour améliorer et affiner ses capacités.