Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
AndroPyTool — Ein Framework zur automatisierten Extraktion von statischen und dynamischen Merkmalen aus Android-Anwendungen | Kitploit
Tools/GitHubGitHub/alexmyg/andropytool
Android-SicherheitStatische AnalyseDynamische Analyse (Sandboxing)Malware-AnalyseMobile Sicherheit
GitHubalexmyg/andropytool

AndroPyTool

Ein Framework zur automatisierten Extraktion von statischen und dynamischen Merkmalen aus Android-Anwendungen

Repository anzeigen
38168vor 6 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

AndroPyTool

Update! DroidBox-Images wurden repariert. Die dynamische Analyse funktioniert jetzt.

Dies ist ein Tool zum Extrahieren von statischen und dynamischen Merkmalen aus Android APKs. Es kombiniert verschiedene bekannte Android-App-Analysetools wie DroidBox, FlowDroid, Strace, AndroGuard oder VirusTotal-Analyse. Wenn ein Quellverzeichnis mit APK-Dateien bereitgestellt wird, wendet AndroPyTool all diese Tools für prä-statische, statische und dynamische Analysen an und erzeugt Merkmalsdateien im JSON- und CSV-Format und ermöglicht es, alle Daten in einer MongoDB-Datenbank zu speichern.

Für weitere Informationen können Sie die folgenden beiden Arbeiten lesen:

  • 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.

Bitte zitieren Sie die oben genannten Arbeiten in Ihren Veröffentlichungen, wenn Sie dieses Tool verwenden.

alt text

Installation

Es gibt zwei Möglichkeiten, AndroPyTool zu installieren und zu nutzen.

MODUS A – DOCKER: Herunterladen eines Docker-Containers, der alle notwendigen Dateien enthält. Dies ist die empfohlene Option, Sie können AndroPyTool in nur zwei Schritten zum Laufen bringen.

MODUS B – QUELLCODE: Installieren und Konfigurieren aller erforderlichen Bibliotheken und Ausführen des Python-Quellcodes.

MODUS A – VERWENDEN EINES DOCKER-CONTAINERS

Ein Docker-Container wurde erstellt, um eine schnelle und zuverlässige Version von AndroPyTool bereitzustellen. Um AndroPyTool mit Docker zu verwenden, müssen Sie lediglich:

  • Installieren Sie Docker (falls noch nicht geschehen). Folgen Sie den Anweisungen hier. Wenn Sie nicht Ubuntu verwenden, wechseln Sie zum richtigen Betriebssystem.

  • Ziehen Sie den Container von Docker Hub:

    root@kitploit:~
    $ docker pull alexmyg/andropytool
    
  • Führen Sie AndroPyTool aus, indem Sie den Container starten:

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

    Sie müssen </PFAD/ZUM/ORDNER/MIT/APKS/> durch einen Pfad auf Ihrem Host ersetzen, der die zu analysierenden APKs enthält. Das Argument "-s" muss wie in der obigen Zeile angegeben werden, wobei auf /apks/ zu verweisen ist.

    HINWEIS 2: AndroPyTool verschiebt Ihre APK-Dateien in verschiedene Unterordner, um ein organisiertes Arbeitsverzeichnis zu erstellen. Siehe das Ordnerstrukturschema.

Es gibt verschiedene Argumente, die an androPyTool übergeben werden können:

  • -h: Zeigt die Hilfemeldung an und beendet.
  • -all, --allsteps: Führt alle Schritte von AndroPyTool aus (empfohlen). Um einen VirusTotal-Bericht zu erhalten, muss auch das Argument -vt gefolgt von einem VirusTotal-API-Schlüssel angegeben werden. Wenn die Option -all nicht angegeben wird, wird nur der letzte Schritt plus die bereitgestellten Argumente ausgeführt.
  • -s SOURCE_FOLDER, --source SOURCE_FOLDER: Ordner mit zu analysierenden APKs. Alle Beispiele müssen die Erweiterung .apk enthalten. Wenn eine vorherige Ausführung von AndroPyTool unterbrochen wurde, muss das vorherige Arbeitsverzeichnis angegeben werden.
  • -S, --single: Einzelne Analyse separat speichern. Standard: False.
  • -f, --filter: Filtert gültige und ungültige APKs (empfohlen).
  • -vt VIRUSTOTAL_API_KEY, --virustotal VIRUSTOTAL_API_KEY: Analysiert Anwendungen mit dem VirusTotal-Dienst. Es muss ein VirusTotal-API-Schlüssel folgen.

MODUS B – VERWENDEN DES QUELLCODES

HINWEIS: Dieses Verfahren wurde nur unter Ubuntu getestet.

0. Voraussetzungen

  • AndroPyTool hat eine Reihe von Abhängigkeiten. Sie können alle mit folgendem Befehl installieren:
    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. Sie müssen das Android SDK installieren (zum nächsten Schritt, falls bereits vorhanden) Die nächsten Schritte ermöglichen die Installation des Android SDK im Nicht-GUI-Modus:

  • Android SDK herunterladen und entpacken:

    root@kitploit:~
    $ cd
    $ wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
    $ tar -xvf android-sdk_r24.2-linux.tgz
    
  • Android SDK zum Pfad hinzufügen (wenn Sie nicht Bash verwenden, z.B. Zsh bevorzugen, denken Sie daran, die richtige Datei zu ändern). Fügen Sie dazu diese beiden Zeilen zu Ihrer ~/.bashrc-Datei hinzu:

    root@kitploit:~
    export ANDROID_HOME=$HOME/android-sdk-linux/
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • Laden Sie die Bibliotheken in der aktuellen Sitzung mit:

    root@kitploit:~
    $ source ~/.bashrc
    

2. Wir müssen das Android 16-Paket installieren

  • Installieren wir Android 16, die von DroidBox unterstützte Version (die Plattform und das System-Image):

    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. Laden wir die Repositorys herunter

  • Jetzt können wir das AndroPyTool-Repository von GitHub herunterladen. Es enthält einige Abhängigkeiten, die ebenfalls heruntergeladen werden. Im Fall von DroidBox wird auch die letzte Version des ursprünglichen DroidBox-Repositorys heruntergeladen, um die System- und RAM-Images zu kopieren:
    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
    

4. Bereiten wir DroidBox vor

  • Wir müssen allen Skripten die notwendigen Berechtigungen erteilen
    root@kitploit:~
    $ chmod 744 AndroPyTool/DroidBox_AndroPyTool/*.sh
    
  • Jetzt müssen wir das Android-Gerät erstellen:
    root@kitploit:~
    $ echo "no" | AndroPyTool/DroidBox_AndroPyTool/createDroidBoxDevice.sh
    

5. Installieren wir die benötigten Python-Bibliotheken

  • Dieses Repo benötigt mehrere Python-Bibliotheken. Wir empfehlen die Verwendung einer virtuellen Umgebung. Wenn Sie das nicht möchten, gehen Sie zum nächsten Schritt: Installieren Sie virtualenv:
    root@kitploit:~
    $ sudo pip install virtualenv
    
    Erstellen Sie eine virtuelle Umgebung und aktivieren Sie sie:
    root@kitploit:~
    $ virtualenv droidbox_env
    $ source droidbox_env/bin/activate
    
  • Die folgenden Python-Bibliotheken werden benötigt:
    root@kitploit:~
    $ pip install -r AndroPyTool/requirements.txt
    

6. Jetzt können wir AndroPyTool ausführen

  • Wenn alles in Ordnung war, können wir jetzt AndroPyTool ausführen:
    root@kitploit:~
    $ cd AndroPyTool/
    $ python androPyTool.py -s </PATH/TO/FOLDER/WITH/APKS/>
    
  • Siehe die oben im Docker-Abschnitt verfügbaren Argumente

Eingabe- und Ausgabeordnerstruktur

EINGABE: Ein Ordner mit Dateien mit der Erweiterung ".apk". AUSGABE: Eine Ordnerstruktur nach folgendem Schema:

root@kitploit:~
/                      --> root folder
/samples/              --> samples, originally in the root folder
/samples/BW/           --> benignware samples
/samples/MW/           --> malware samples
/invalid_apks/         --> invalid apks found
/VT_analysis/          --> VirusTotal analysis reports
/FlowDroid_outputs/    --> flowdroid results
/FlowDroid_processed/  --> flowdroid results processed
/DroidBox_outputs/     --> DroidBox outputs raw
/Dynamic/Droidbox/     --> Droidbox analysis in JSON
/Dynamic/Strace/       --> Strace analysis in CSV
/Features_files/       --> Features files generated with AndroPyTool

Danksagungen

  • phamhduy hat die Droidbox-Images repariert.
Tool herunterladen
  • -cl, --classify: Klassifiziert Apps als Malware oder Benignware basierend auf den VirusTotal-Berichten. Das Argument --virustotal muss gesetzt sein.
  • -fw, --flowdroid: Führt flowdroid aus.
  • -dr, --droidbox: Führt droidbox aus.
  • -c, --cleanup: Bereinigt durch Löschen temporärer Arbeitsdateien. Standard: True
  • -P PACKAGEINDEX, --packgeIndex PACKAGEINDEX: TXT-Datei mit allen Android-API-Paketen. Standard: info/package_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX: TXT-Datei mit allen Android-API-Klassen. Standard: info/class_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX: TXT-Datei mit allen Android-API-Klassen. Standard: info/class_index.txt
  • -SC SYSTEMCOMMANDSINDEX, --systemCommandsIndex SYSTEMCOMMANDSINDEX: TXT-Datei mit allen Systembefehlen. Standard: info/system_commands.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX: TXT-Datei mit allen Android-API-Klassen. Standard: info/class_index.txt
  • -mg MONGODBURI, --mongodbURI MONGODBURI: Exportiert den generierten Bericht in eine MongoDB-Datenbank. Erfordert Verbindungsadresse nach dem Schema: localhost:27017
  • -csv EXPORTCSV, --cexportCSV EXPORTCSV: Exportiert den generierten Bericht in eine CSV-Datei. Es werden nur statische Merkmale einbezogen.
  • --color: Erlaubt Farben beim Drucken von Nachrichten.
  • --no-color: Verwendet keine Farben zum Drucken von Nachrichten.