Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
AndroPyTool — Un framework per l'estrazione automatica di caratteristiche statiche e dinamiche da applicazioni Android. | Kitploit
Strumenti/GitHubGitHub/alexmyg/andropytool
Sicurezza AndroidAnalisi StaticaAnalisi Dinamica (Sandboxing)Analisi MalwareSicurezza Mobile
GitHubalexmyg/andropytool

AndroPyTool

Un framework per l'estrazione automatica di caratteristiche statiche e dinamiche da applicazioni Android.

Vedi Repository
381686 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

AndroPyTool

Aggiornamento! Le immagini di DroidBox sono state riparate. L'analisi dinamica ora funziona.

Questo è uno strumento per estrarre caratteristiche statiche e dinamiche da APK Android. Combina diversi strumenti noti di analisi di app Android come DroidBox, FlowDroid, Strace, AndroGuard o VirusTotal. Fornita una directory di origine contenente file APK, AndroPyTool applica tutti questi strumenti per eseguire analisi pre-statiche, statiche e dinamiche e genera file di caratteristiche in formato JSON e CSV e permette anche di salvare tutti i dati in un database MongoDB.

Per ottenere maggiori informazioni puoi leggere i seguenti due articoli:

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). Rilevamento di malware Android tramite fusione ibrida di caratteristiche e classificatori ensemble: il framework AndroPyTool e il dataset OmniDroid. Information Fusion. DOI: 10.1016/j.inffus.2018.12.006

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). Un nuovo strumento per l'analisi statica e dinamica del malware Android. In Data Science and Knowledge Engineering for Sensing Decision Support (pp. 509-516). World Scientific.

Per favore, se usi questo strumento, cita i lavori sopra nei tuoi articoli.

alt text

Come installare

Ci sono due modi possibili per installare e utilizzare AndroPyTool.

MODALITÀ A - DOCKER: Scarica un container Docker che contiene tutti i file necessari. Questa è l'opzione consigliata, puoi avere AndroPyTool in esecuzione in soli due passaggi.

MODALITÀ B - CODICE SORGENTE: Installa e configura tutte le librerie necessarie ed esegui il codice Python sorgente.

MODALITÀ A - UTILIZZO DI UN CONTAINER DOCKER

È stato creato un container Docker per fornire una versione veloce e affidabile di AndroPyTool. Per utilizzare AndroPyTool con Docker basta:

  • Installa Docker (se non l'hai già fatto). Segui le istruzioni qui. Se non stai usando Ubuntu, passa al Sistema Operativo corretto.

  • Scarica il container da Docker hub:

    root@kitploit:~
    $ docker pull alexmyg/andropytool
    
  • Esegui AndroPyTool avviando il container:

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

    Devi sostituire </PATH/TO/FOLDER/WITH/APKS/> con un percorso del tuo host che contiene gli apk da analizzare. L'argomento "-s" deve essere fornito come mostrato nella riga sopra, puntando a /apks/

    NOTA 2: AndroPyTool sposta i tuoi file APK in diverse sottocartelle per generare una directory di lavoro organizzata. Vedi lo schema della struttura delle cartelle.

Ci sono diversi argomenti che possono essere forniti a AndroPyTool:

  • -h: Mostra il messaggio di aiuto ed esce.
  • -all, --allsteps: Esegue tutti i passaggi di AndroPyTool (Consigliato). Per ottenere un report di VirusTotal, l'argomento -vt deve essere fornito seguito da una chiave API di VirusTotal. Se l'opzione -all non è fornita, viene eseguito solo l'ultimo passaggio insieme agli argomenti forniti.
  • -s SOURCE_FOLDER, --source SOURCE_FOLDER: Cartella contenente APK da analizzare. Tutti i campioni devono avere estensione .apk. Se una precedente esecuzione di AndroPyTool è stata interrotta, deve essere fornita la directory di lavoro precedente.
  • -S, --single: Salva le analisi singole separatamente. Predefinito: False.
  • -f, --filter: Filtra APK validi e non validi (Consigliato).
  • -vt VIRUSTOTAL_API_KEY, --virustotal VIRUSTOTAL_API_KEY: Analizza le applicazioni con il servizio VirusTotal. Deve essere seguito da una chiave API di VirusTotal.

MODALITÀ B - UTILIZZO DEL CODICE SORGENTE

NOTA: Questa procedura è stata testata solo su Ubuntu

0. Requisiti

  • AndroPyTool ha una serie di dipendenze. Puoi installarle tutte eseguendo:
    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. Devi installare Android SDK (vai al passaggio successivo se lo hai già) I prossimi passaggi ti permetteranno di installare Android SDK in modalità Non-GUI:

  • Scarica e decomprimi Android SDK:

    root@kitploit:~
    $ cd
    $ wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
    $ tar -xvf android-sdk_r24.2-linux.tgz
    
  • Aggiungi Android SDK al PATH (se non usi Bash, ad esempio preferisci Zsh, ricordati di modificare il file corretto). Per farlo, aggiungi queste due righe al tuo file ~/.bashrc:

    root@kitploit:~
    export ANDROID_HOME=$HOME/android-sdk-linux/
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • Carica le librerie nella sessione corrente con:

    root@kitploit:~
    $ source ~/.bashrc
    

2. Dobbiamo installare il pacchetto Android 16

  • Installiamo Android 16, che è la versione supportata da DroidBox (la piattaforma e l'immagine di sistema):

    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. Scarichiamo i repository

  • Ora possiamo scaricare il repository di AndroPyTool da GitHub. Ha alcune dipendenze che verranno anche scaricate. Nel caso di DroidBox, viene scaricata anche l'ultima versione del repository originale di DroidBox per copiare le immagini di sistema e 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. Prepariamo DroidBox

  • Dobbiamo dare i permessi necessari a tutti gli script
    root@kitploit:~
    $ chmod 744 AndroPyTool/DroidBox_AndroPyTool/*.sh
    
  • Ora dobbiamo creare il dispositivo Android:
    root@kitploit:~
    $ echo "no" | AndroPyTool/DroidBox_AndroPyTool/createDroidBoxDevice.sh
    

4. Installiamo le librerie Python richieste

  • Questo repo richiede diverse librerie Python. Ti consigliamo di usare un Ambiente Virtuale. Se non vuoi, vai al passaggio successivo: Installa virtualenv:
    root@kitploit:~
    $ sudo pip install virtualenv
    
    Crea l'ambiente virtuale e attivalo:
    root@kitploit:~
    $ virtualenv droidbox_env
    $ source droidbox_env/bin/activate
    
  • Le seguenti librerie Python sono richieste:
    root@kitploit:~
    $ pip install -r AndroPyTool/requirements.txt
    

5. Ora possiamo eseguire AndroPyTool

  • Se tutto è andato bene, possiamo ora eseguire AndroPyTool:
    root@kitploit:~
    $ cd AndroPyTool/
    $ python androPyTool.py -s </PATH/TO/FOLDER/WITH/APKS/>
    
  • Vedi gli argomenti disponibili sopra nella sezione Docker

Struttura delle cartelle di input e output

INPUT: Una cartella contenente file con estensione ".apk". OUTPUT: Una struttura di cartelle che segue questo 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

Ringraziamenti

  • phamhduy ha riparato le immagini di Droidbox.
Scarica lo strumento
  • -cl, --classify: Classifica le app tra malware o benignware basandosi sui report di VirusTotal. L'argomento --virustotal deve essere impostato.
  • -fw, --flowdroid: Esegui flowdroid.
  • -dr, --droidbox: Esegui droidbox.
  • -c, --cleanup: Esegue la pulizia cancellando i file di lavoro temporanei. Predefinito: True
  • -P PACKAGEINDEX, --packgeIndex PACKAGEINDEX: File TXT con tutti i pacchetti API Android. Predefinito: info/package_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX: File TXT con tutte le classi API Android. Predefinito: info/class_index.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX: File TXT con tutte le classi API Android. Predefinito: info/class_index.txt
  • -SC SYSTEMCOMMANDSINDEX, --systemCommandsIndex SYSTEMCOMMANDSINDEX: File TXT con tutti i comandi di sistema. Predefinito: info/system_commands.txt
  • -C CLASSINDEX, --classIndex CLASSINDEX: File TXT con tutte le classi API Android. Predefinito: info/class_index.txt
  • -mg MONGODBURI, --mongodbURI MONGODBURI: Esporta il report generato in un database mongodb. Richiede l'indirizzo di connessione seguendo lo schema: localhost:27017
  • -csv EXPORTCSV, --cexportCSV EXPORTCSV: Esporta il report generato in un file CSV. Sono incluse solo le caratteristiche statiche.
  • --color: Permette i colori durante la stampa dei messaggi.
  • --no-color: Non usare colori per stampare i messaggi.