Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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
droidlysis — Strumento di pre-analisi automatizzato per app Android che disassembla campioni, estrae proprietà tramite pattern matching configurabile e organizza l'output per accelerare l'analisi della reverse engineering e del malware. | Kitploit
Strumenti/GitHubGitHub/cryptax/droidlysis
Sicurezza AndroidAnalisi StaticaReverse EngineeringRaccolta InformazioniAnalisi MalwareSicurezza Mobile
GitHubcryptax/droidlysis

droidlysis

Strumento di pre-analisi automatizzato per app Android che disassembla campioni, estrae proprietà tramite pattern matching configurabile e organizza l'output per accelerare l'analisi della reverse engineering e del malware.

Vedi Repository
31149151 mese 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

DroidLysis

DroidLysis è uno strumento di pre-analisi per app Android: esegue attività ripetitive e noiose che tipicamente faremmo all'inizio di qualsiasi reverse engineering. Disassembla il campione Android, organizza l'output in directory e cerca punti sospetti nel codice da esaminare. L'output aiuta il reverse engineer ad accelerare i primi passi dell'analisi.

DroidLysis può essere utilizzato su pacchetti Android (apk), eseguibili Dalvik (dex), file Zip (zip), file Rar (rar) o directory di file.

Installare DroidLysis

  1. Installare i pacchetti di sistema richiesti
sudo apt-get install default-jre git python3 python3-pip unzip wget libmagic-dev libxml2-dev libxslt-dev
  1. Installare gli strumenti di disassemblaggio Android
  • Apktool ,
  • Baksmali, e opzionalmente
  • Dex2jar e
$ mkdir -p ~/softs
$ cd ~/softs
$ wget https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.9.3.jar
$ wget https://bitbucket.org/JesusFreke/smali/downloads/baksmali-2.5.2.jar
$ wget https://github.com/pxb1988/dex2jar/releases/download/v2.4/dex-tools-v2.4.zip
$ unzip dex-tools-v2.4.zip 
$ rm -f dex-tools-v2.4.zip 
  1. Ottenere DroidLysis dal repository Git (preferito) o da pip

Installare da Git in un ambiente virtuale Python (python3 -m venv, o ambienti virtuali pyenv ecc.).

$ python3 -m venv venv
$ source ./venv/bin/activate
(venv) $ pip3 install git+https://github.com/cryptax/droidlysis

In alternativa, puoi installare DroidLysis direttamente da PyPi (pip3 install droidlysis).

  1. Configurare conf/general.conf. In particolare assicurati di modificare /home/axelle con le tue directory appropriate.
[tools]
apktool = /home/axelle/softs/apktool_2.9.3.jar
baksmali = /home/axelle/softs/baksmali-2.5.2.jar
dex2jar = /home/axelle/softs/dex-tools-v2.4/d2j-dex2jar.sh
keytool = /usr/bin/keytool
...
  1. Eseguirlo:
python3 ./droidlysis3.py --help

Configurazione

Il file di configurazione è ./conf/general.conf (puoi passare a un altro file con l'opzione --config). Qui si configura la posizione dei vari strumenti esterni (es. Apktool), il nome dei file di pattern (per impostazione predefinita ./conf/smali.conf, ./conf/wide.conf, ./conf/arm.conf, ./conf/kit.conf) e il nome del file di database (usato solo se si specifica --enable-sql)

Assicurati di specificare i percorsi corretti per gli strumenti di disassemblaggio, altrimenti DroidLysis non li troverà.

Utilizzo

DroidLysis utilizza Python 3. Per avviarlo e ottenere le opzioni:

droidlysis --help

Ad esempio, testalo sull'APK di Signal:

droidlysis --input Signal-website-universal-release-6.26.3.apk --output /tmp --config /PERCORSO/DI/DROIDLYSIS/conf/general.conf

DroidLysis produce:

  • Un riepilogo sulla console (vedi immagine sopra)
  • Il campione decompresso e pre-elaborato in una sottodirectory della directory di output. La sottodirectory è denominata utilizzando il nome del file del campione e la somma sha256. Ad esempio, se analizziamo l'applicazione Signal e impostiamo --output /tmp, l'analisi verrà scritta in /tmp/Signalwebsiteuniversalrelease4.52.4.apk-f3c7d5e38df23925dd0b2fe1f44bfa12bac935a6bc8fe3a485a4436d4487a290.
  • Un database (per impostazione predefinita, SQLite droidlysis.db) contenente le proprietà rilevate.

Opzioni

Ottieni l'uso con droidlysis --help

  • L'input può essere un file o una directory di file da esaminare ricorsivamente. DroidLysis sa come elaborare pacchetti Android, eseguibili DEX, ODEX e ARM, ZIP, RAR. DroidLysis non fallirà su altri tipi di file (a meno che non ci sia un bug...) ma non sarà in grado di comprendere il contenuto.

  • Quando si elaborano directory di file, è tipicamente molto utile spostare i campioni elaborati in un'altra posizione per sapere cosa è stato elaborato. Questo è gestito dall'opzione --movein. Inoltre, se sei interessato solo alle statistiche, dovresti probabilmente pulire la directory di output che contiene informazioni dettagliate per ogni campione: questa è l'opzione --clearoutput. Se desideri memorizzare tutte le statistiche in un database SQL, usa --enable-sql (vedi qui)

  • L'analisi di DroidLysis non ispeziona gli SDK di terze parti noti per impostazione predefinita, cioè per esempio non segnalerà alcuna attività sospetta da questi. Se vuoi che vengano ispezionati, usa l'opzione --no-kit-exception. Questo di solito crea molte più proprietà rilevate per il campione, poiché gli SDK (ad es. pubblicitari) utilizzano molte API segnalate (ottenere posizione GPS, ottenere IMEI, ottenere IMSI, HTTP POST...).

Directory di output del campione (--output DIR)

Questa directory contiene (quando applicabile):

  • Un AndroidManifest.xml leggibile
  • Risorse leggibili in res
  • Librerie lib, risorse assets
  • Codice Smali disassemblato: smali (e altri)
  • Metadati del pacchetto: META-INF
  • Contenuto del pacchetto semplicemente decompresso in ./unzipped
  • Eseguibile DEX classes.dex (e altri), e convertito in jar: classes-dex2jar.jar, e decompresso in ./unjarred

I seguenti file sono generati da DroidLysis:

  • autoanalysis.md: elenca ogni pattern rilevato da DroidLysis e dove.
  • report.md: lo stesso di quanto stampato sulla console

Se non hai bisogno che la directory di output del campione venga generata, usa l'opzione --clearoutput.

Importare tracker da Exodus ecc (--import-exodus)

$ python3 ./droidlysis3.py --import-exodus --verbose
Processing file: ./droidurl.pyc ...
DEBUG:droidconfig.py:Reading configuration file: './conf/./smali.conf'
DEBUG:droidconfig.py:Reading configuration file: './conf/./wide.conf'
DEBUG:droidconfig.py:Reading configuration file: './conf/./arm.conf'
DEBUG:droidconfig.py:Reading configuration file: '/home/axelle/.cache/droidlysis/./kit.conf'
DEBUG:droidproperties.py:Importing ETIP Exodus trackers from https://etip.exodus-privacy.eu.org/api/trackers/?format=json
DEBUG:connectionpool.py:Starting new HTTPS connection (1): etip.exodus-privacy.eu.org:443
DEBUG:connectionpool.py:https://etip.exodus-privacy.eu.org:443 "GET /api/trackers/?format=json HTTP/1.1" 200 None
DEBUG:droidproperties.py:Appending imported trackers to /home/axelle/.cache/droidlysis/./kit.conf

I tracker da Exodus che non sono presenti nel tuo kit.conf iniziale vengono aggiunti a ~/.cache/droidlysis/kit.conf. Confronta i 2 file e controlla quali tracker desideri aggiungere.

Database SQLite{#database_sqlite}

Se desideri elaborare una directory di campioni, probabilmente ti piacerà memorizzare le proprietà trovate da DroidLysis in un database, per analizzare e interrogare facilmente i risultati. In tal caso, usa l'opzione --enable-sql. Questo scaricherà automaticamente tutti i risultati in un database denominato droidlysis.db, in una tabella chiamata samples. Ogni voce nella tabella è relativa a un dato campione. Ogni colonna è una proprietà tracciata da DroidLysis.

Ad esempio, per recuperare tutti i nomi file, la somma SHA256 e le proprietà smali del database:

Scarica lo strumento