Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
AndroPyTool — Un framework pour l'extraction automatisée de caractéristiques statiques et dynamiques d'applications Android. | Kitploit
Outils/GitHubGitHub/alexmyg/andropytool
Sécurité AndroidAnalyse StatiqueAnalyse Dynamique (Sandboxing)Analyse de MalwareSécurité Mobile
GitHubalexmyg/andropytool

AndroPyTool

Un framework pour l'extraction automatisée de caractéristiques statiques et dynamiques d'applications Android.

Voir le dépôt
38168il y a 6 ansVé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

AndroPyTool

Mise à jour ! Les images DroidBox ont été réparées. L'analyse dynamique fonctionne maintenant.

Cet outil permet d'extraire des caractéristiques statiques et dynamiques des APK Android. Il combine différents outils d'analyse d'applications Android bien connus tels que DroidBox, FlowDroid, Strace, AndroGuard ou l'analyse VirusTotal. À partir d'un répertoire source contenant des fichiers APK, AndroPyTool applique tous ces outils pour effectuer une analyse pré-statique, statique et dynamique, et génère des fichiers de caractéristiques aux formats JSON et CSV, et permet également de sauvegarder toutes les données dans une base de données MongoDB.

Pour obtenir plus d'informations, vous pouvez lire les deux articles suivants :

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). Android malware detection through hybrid features fusion and ensemble classifiers: the AndroPyTool framework and the OmniDroid dataset. Information Fusion. DOI: 10.1016/j.inffus.2018.12.006

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). A new tool for static and dynamic Android malware analysis. In Data Science and Knowledge Engineering for Sensing Decision Support (pp. 509-516). World Scientific.

Veuillez, si vous utilisez cet outil, citer les travaux ci-dessus dans vos articles.

alt text

Comment installer

Il y a deux façons possibles d'installer et d'utiliser AndroPyTool.

MODE A - DOCKER : Téléchargement d'un conteneur Docker qui contient tous les fichiers nécessaires. C'est l'option recommandée, vous pouvez avoir AndroPyTool opérationnel en seulement deux étapes.

MODE B - CODE SOURCE : Installation et configuration de toutes les bibliothèques nécessaires et exécution du code source Python.

MODE A - UTILISATION D'UN CONTENEUR DOCKER

Un conteneur Docker a été construit afin de fournir une version rapide et fiable d'AndroPyTool. Pour utiliser AndroPyTool avec Docker, vous avez simplement besoin de :

  • Installer Docker (si ce n'est pas déjà fait). Suivez les instructions ici. Si vous n'utilisez pas Ubuntu, adaptez à votre système d'exploitation.

  • Télécharger le conteneur depuis Docker Hub :

    root@kitploit:~
    $ docker pull alexmyg/andropytool
    
  • Exécuter AndroPyTool en lançant le conteneur :

    root@kitploit:~
    $ docker run --volume=</PATH/TO/FOLDER/WITH/APKS/>:/apks alexmyg/andropytool -s /apks/ <ARGUMENTS>
    

    Vous devez remplacer </PATH/TO/FOLDER/WITH/APKS/> par un chemin de votre hôte contenant les APK à analyser. L'argument "-s" doit être fourni comme indiqué dans la ligne ci-dessus, pointant vers /apks/

    REMARQUE 2 : AndroPyTool déplace vos fichiers APK vers différents sous-dossiers afin de générer un répertoire de travail organisé. Voir le schéma de structure des dossiers.

Il y a différents arguments qui peuvent être fournis à AndroPyTool :

  • -h : Affiche le message d'aide et quitte.
  • -all, --allsteps : Exécute toutes les étapes d'AndroPyTool (Recommandé). Pour obtenir un rapport VirusTotal, l'argument -vt doit également être fourni suivi d'une clé API VirusTotal. Si l'option -all n'est pas fournie, seule la dernière étape est exécutée en plus des arguments fournis.
  • -s SOURCE_FOLDER, --source SOURCE_FOLDER : Dossier contenant les APK à analyser. Tous les échantillons doivent avoir l'extension .apk. Si une exécution précédente d'AndroPyTool a été interrompue, le répertoire de travail précédent doit être fourni.
  • -S, --single : Sauvegarder chaque analyse séparément. Par défaut : False.
  • -f, --filter : Filtrer les APK valides et invalides (Recommandé).
  • -vt VIRUSTOTAL_API_KEY, --virustotal VIRUSTOTAL_API_KEY : Analyser les applications avec le service VirusTotal. Doit être suivi d'une clé API VirusTotal.

MODE B - UTILISATION DU CODE SOURCE

NOTE : Cette procédure n'a été testée que sous Ubuntu

0. Prérequis

  • AndroPyTool a une série de dépendances. Vous pouvez toutes les installer en exécutant :
    root@kitploit:~
    $ sudo apt-get update
    $ sudo apt-get install -y --no-install-recommends software-properties-common wget git lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 libc6-i386 libgl1-mesa-dev python-pip python-dev gcc python-tk curl
    $ sudo add-apt-repository ppa:webupd8team/java -y
    $ sudo apt-get update
    $ sudo echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
    $ sudo apt-get install -y oracle-java8-installer
    $ sudo apt-get install -y python-setuptools
    $ sudo apt-get clean
    

1. Vous devez installer le SDK Android (passez à l'étape suivante si vous l'avez déjà) Les étapes suivantes vous permettront d'installer le SDK Android en mode non graphique :

  • Télécharger et décompresser le SDK Android :

    root@kitploit:~
    $ cd
    $ wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
    $ tar -xvf android-sdk_r24.2-linux.tgz
    
  • Ajouter le SDK Android au PATH (si vous n'utilisez pas Bash, par exemple vous préférez Zsh, pensez à modifier le fichier correct). Pour ce faire, ajoutez ces deux lignes à votre fichier ~/.bashrc :

    root@kitploit:~
    export ANDROID_HOME=$HOME/android-sdk-linux/
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • Chargez les bibliothèques dans la session courante avec :

    root@kitploit:~
    $ source ~/.bashrc
    

2. Nous devons installer le package Android 16

  • Installons Android 16, qui est la version supportée par DroidBox (la plateforme et l'image système) :
    root@kitploit:~
    $ echo y | android update sdk --filter platform-tools --no-ui --force -a
    $ echo y | android update sdk --filter tools --no-ui --force -a
    $ echo y | android update sdk --filter android-16 --no-ui --force -a
    $ echo y | android update sdk --filter sys-img-armeabi-v7a-android-16 --no-ui -a
    

3. Téléchargeons les dépôts

  • Maintenant nous pouvons télécharger le dépôt AndroPyTool depuis GitHub. Il a certaines dépendances qui seront également téléchargées. Dans le cas de DroidBox, la dernière version du dépôt original DroidBox est également téléchargée afin de copier les images système et RAM :
    root@kitploit:~
     $ git clone --recursive https://github.com/alexMyG/AndroPyTool.git
     $ wget https://github.com/alexMyG/AndroPyTool/releases/download/droidbox_images_patched/images_droidbox.zip
     $ unzip -o images_droidbox.zip -d AndroPyTool/DroidBox_AndroPyTool/images
     $ touch AndroPyTool/avclass/__init__.py
    

3. Préparons DroidBox

  • Nous devons donner les permissions nécessaires à tous les scripts
    root@kitploit:~
    $ chmod 744 AndroPyTool/DroidBox_AndroPyTool/*.sh
    
  • Maintenant nous devons créer le périphérique Android :
    root@kitploit:~
    $ echo "no" | AndroPyTool/DroidBox_AndroPyTool/createDroidBoxDevice.sh
    

4. Installons les bibliothèques Python requises

  • Ce dépôt nécessite plusieurs bibliothèques Python. Nous vous recommandons d'utiliser un environnement virtuel. Si vous ne le souhaitez pas, passez à l'étape suivante : Installez virtualenv :
    root@kitploit:~
    $ sudo pip install virtualenv
    
    Créez un environnement virtuel et activez-le :
    root@kitploit:~
    $ virtualenv droidbox_env
    $ source droidbox_env/bin/activate
    
  • Les bibliothèques Python suivantes sont requises :
    root@kitploit:~
    $ pip install -r AndroPyTool/requirements.txt
    

5. Maintenant nous pouvons exécuter AndroPyTool

  • Si tout s'est bien passé, nous pouvons maintenant exécuter AndroPyTool :
    root@kitploit:~
    $ cd AndroPyTool/
    $ python androPyTool.py -s </PATH/TO/FOLDER/WITH/APKS/>
    
  • Voir les arguments disponibles ci-dessus dans la section Docker

Structure des dossiers d'entrée et de sortie

ENTRÉE : Un dossier contenant des fichiers avec l'extension ".apk". SORTIE : Une structure de dossiers suivant ce schéma :

root@kitploit:~
/                      --> dossier racine
/samples/              --> échantillons, initialement dans le dossier racine
/samples/BW/           --> échantillons de logiciels bénins
/samples/MW/           --> échantillons de logiciels malveillants
/invalid_apks/         --> APK invalides trouvés
/VT_analysis/          --> rapports d'analyse VirusTotal
/FlowDroid_outputs/    --> résultats FlowDroid
/FlowDroid_processed/  --> résultats FlowDroid traités
/DroidBox_outputs/     --> sorties DroidBox brutes
/Dynamic/Droidbox/     --> analyse Droidbox en JSON
/Dynamic/Strace/       --> analyse Strace en CSV
/Features_files/       --> fichiers de caractéristiques générés avec AndroPyTool

Remerciements

  • phamhduy a réparé les images Droidbox.
Télécharger l’outil
  • -cl, --classify : Classifier les applications entre malware et logiciel bénin sur la base des rapports VirusTotal. L'argument --virustotal doit être défini.
  • -fw, --flowdroid : Exécuter FlowDroid.
  • -dr, --droidbox : Exécuter DroidBox.
  • -c, --cleanup : Effectuer un nettoyage en supprimant les fichiers de travail temporaires. Par défaut : True.
  • -P PACKAGEINDEX, --packgeIndex PACKAGEINDEX : Fichier TXT avec tous les packages de l'API Android. Par défaut : info/package_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX : Fichier TXT avec toutes les classes de l'API Android. Par défaut : info/class_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX : Fichier TXT avec toutes les classes de l'API Android. Par défaut : info/class_index.txt
  • -SC SYSTEMCOMMANDSINDEX, --systemCommandsIndex SYSTEMCOMMANDSINDEX : Fichier TXT avec toutes les commandes système. Par défaut : info/system_commands.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX : Fichier TXT avec toutes les classes de l'API Android. Par défaut : info/class_index.txt
  • -mg MONGODBURI, --mongodbURI MONGODBURI : Exporte le rapport généré vers une base de données MongoDB. Nécessite une adresse de connexion suivant le schéma : localhost:27017
  • -csv EXPORTCSV, --cexportCSV EXPORTCSV : Exporte le rapport généré vers un fichier CSV. Seules les caractéristiques statiques sont incluses.
  • --color : Autoriser les couleurs lors de l'affichage des messages.
  • --no-color : Ne pas utiliser de couleurs pour afficher les messages.