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
droidlysis — Automatisiertes Voranalyse-Tool für Android-Apps, das Samples disassembliert, Eigenschaften über konfigurierbare Mustererkennung extrahiert und die Ausgabe für beschleunigte Reverse-Engineering- und Malware-Analyse organisiert. | Kitploit
Tools/GitHubGitHub/cryptax/droidlysis
Android-SicherheitStatische AnalyseReverse EngineeringInformationsbeschaffungMalware-AnalyseMobile Sicherheit
GitHubcryptax/droidlysis

droidlysis

Automatisiertes Voranalyse-Tool für Android-Apps, das Samples disassembliert, Eigenschaften über konfigurierbare Mustererkennung extrahiert und die Ausgabe für beschleunigte Reverse-Engineering- und Malware-Analyse organisiert.

Repository anzeigen
31149vor 10 TagenVon 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

DroidLysis

DroidLysis ist ein Voranalyse-Tool für Android-Apps: es führt repetitive und langweilige Aufgaben aus, die wir typischerweise zu Beginn einer Reverse Engineering durchführen. Es disassembliert die Android-Probe, organisiert die Ausgabe in Verzeichnissen und sucht nach verdächtigen Stellen im Code, die es zu untersuchen gilt. Die Ausgabe hilft dem Reverse Engineer, die ersten Schritte der Analyse zu beschleunigen.

DroidLysis kann für Android-Pakete (apk), Dalvik-Ausführbare (dex), Zip-Dateien (zip), Rar-Dateien (rar) oder Dateiverzeichnisse verwendet werden.

Installieren von DroidLysis

  1. Installieren Sie erforderliche Systempakete
root@kitploit:~
sudo apt-get install default-jre git python3 python3-pip unzip wget libmagic-dev libxml2-dev libxslt-dev
  1. Installieren Sie Android-Disassemblierungswerkzeuge
  • Apktool ,
  • Baksmali, und optional
  • Dex2jar und
root@kitploit:~
$ 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. Holen Sie DroidLysis aus dem Git-Repository (bevorzugt) oder von pip

Installieren Sie aus Git in einer Python-Virtual-Umgebung (python3 -m venv, oder pyenv virtual environments etc.).

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

Alternativ können Sie DroidLysis direkt von PyPi installieren (pip3 install droidlysis).

  1. Konfigurieren Sie conf/general.conf. Stellen Sie insbesondere sicher, dass Sie /home/axelle durch Ihre entsprechenden Verzeichnisse ersetzen.
root@kitploit:~
[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. Führen Sie es aus:
root@kitploit:~
python3 ./droidlysis3.py --help

Konfiguration

Die Konfigurationsdatei ist ./conf/general.conf (Sie können mit der Option --config zu einer anderen Datei wechseln). Hier konfigurieren Sie den Speicherort verschiedener externer Werkzeuge (z.B. Apktool), die Namen der Mustereinstellungen (standardmäßig ./conf/smali.conf, ./conf/wide.conf, ./conf/arm.conf, ./conf/kit.conf) und den Namen der Datenbankdatei (nur verwendet, wenn Sie --enable-sql angeben). Achten Sie darauf, die korrekten Pfade für die Disassemblierungswerkzeuge anzugeben, sonst findet DroidLysis sie nicht.

Verwendung

DroidLysis verwendet Python 3. Um es zu starten und Optionen zu erhalten:

root@kitploit:~
droidlysis --help

Testen Sie es zum Beispiel auf der Signal-APK:

root@kitploit:~
droidlysis --input Signal-website-universal-release-6.26.3.apk --output /tmp --config /PFAD/ZU/DROIDLYSIS/conf/general.conf

DroidLysis gibt aus:

  • Eine Zusammenfassung auf der Konsole (siehe Bild oben)
  • Die entpackte, vorverarbeitete Probe in einem Unterverzeichnis Ihres Ausgabeverzeichnisses. Das Unterverzeichnis wird mit dem Dateinamen der Probe und der SHA256-Summe benannt. Wenn wir z.B. die Signal-Anwendung analysieren und --output /tmp setzen, wird die Analyse nach /tmp/Signalwebsiteuniversalrelease4.52.4.apk-f3c7d5e38df23925dd0b2fe1f44bfa12bac935a6bc8fe3a485a4436d4487a290 geschrieben.
  • Eine Datenbank (standardmäßig SQLite droidlysis.db), die die erkannten Eigenschaften enthält.

Optionen

Erhalten Sie die Verwendung mit droidlysis --help

  • Die Eingabe kann eine Datei oder ein Verzeichnis von Dateien sein, das rekursiv durchsucht wird. DroidLysis kann Android-Pakete, DEX-, ODEX- und ARM-Ausführbare, ZIP, RAR verarbeiten. DroidLysis wird bei anderen Dateitypen nicht fehlschlagen (es sei denn, es gibt einen Fehler...), aber den Inhalt nicht verstehen können.

  • Bei der Verarbeitung von Dateiverzeichnissen ist es typischerweise sehr hilfreich, verarbeitete Proben an einen anderen Ort zu verschieben, um zu wissen, was verarbeitet wurde. Dies wird durch die Option --movein geregelt. Wenn Sie nur an Statistiken interessiert sind, sollten Sie wahrscheinlich das Ausgabeverzeichnis leeren, das detaillierte Informationen zu jeder Probe enthält: dies ist die Option --clearoutput. Wenn Sie alle Statistiken in einer SQL-Datenbank speichern möchten, verwenden Sie --enable-sql (siehe hier)

  • DroidLysis' Analyse überprüft standardmäßig keine bekannten SDKs von Drittanbietern, d.h. sie wird z.B. keine verdächtigen Aktivitäten von diesen melden. Wenn Sie möchten, dass diese überprüft werden, verwenden Sie die Option --no-kit-exception. Dies erzeugt in der Regel viel mehr erkannte Eigenschaften für die Probe, da SDKs (z.B. Werbung) viele markierte APIs verwenden (GPS-Standort abrufen, IMEI abrufen, IMSI abrufen, HTTP POST...).

Beispiel-Ausgabeverzeichnis (--output DIR)

Dieses Verzeichnis enthält (sofern zutreffend):

  • Eine lesbare AndroidManifest.xml
  • Lesbare Ressourcen in res
  • Bibliotheken lib, Anlagen assets
  • Disassemblierter Smali-Code: smali (und andere)
  • Paket-Metainformation: META-INF
  • Paketinhalt, wenn einfach entpackt in ./unzipped
  • DEX-Ausführbare classes.dex (und andere), und nach jar konvertiert: classes-dex2jar.jar, und entpackt in ./unjarred

Die folgenden Dateien werden von DroidLysis erstellt:

  • autoanalysis.md: listet jedes von DroidLysis erkannte Muster und dessen Fundort auf.
  • report.md: entspricht dem, was auf der Konsole ausgegeben wurde

Wenn Sie nicht benötigen, dass das Beispiel-Ausgabeverzeichnis erstellt wird, verwenden Sie die Option --clearoutput.

Tracker von Exodus etc. importieren (--import-exodus)

root@kitploit:~
$ 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

Tracker von Exodus, die nicht in Ihrer ursprünglichen kit.conf vorhanden sind, werden an ~/.cache/droidlysis/kit.conf angehängt. Vergleichen Sie die 2 Dateien und prüfen Sie, welche Tracker Sie hinzufügen möchten.

SQLite-Datenbank{#sqlite_datenbank}

Wenn Sie ein Verzeichnis mit Proben verarbeiten möchten, werden Sie wahrscheinlich die von DroidLysis gefundenen Eigenschaften in einer Datenbank speichern wollen, um die Ergebnisse leicht parsen und abfragen zu können. Verwenden Sie in diesem Fall die Option --enable-sql. Dadurch werden alle Ergebnisse automatisch in eine Datenbank namens droidlysis.db, in einer Tabelle namens samples, abgelegt. Jeder Eintrag in der Tabelle bezieht sich auf eine bestimmte Probe. Jede Spalte entspricht einer von DroidLysis verfolgten Eigenschaft.

Beispiel: Um alle Dateinamen, SHA256-Summen und Smali-Eigenschaften der Datenbank abzurufen:

root@kitploit:~
sqlite> select sha256, sanitized_basename, smali_properties from samples;
f3c7d5e38df23925dd0b2fe1f44bfa12bac935a6bc8fe3a485a4436d4487a290|Signalwebsiteuniversalrelease4.52.4.apk|{"send_sms": true, "receive_sms": true, "abort_broadcast": true, "call": false, "email": false, "answer_call": false, "end_call": true, "phone_number": false, "intent_chooser": true, "get_accounts": true, "contacts": false, "get_imei": true, "get_external_storage_stage": false, "get_imsi": false, "get_network_operator": false, "get_active_network_info": false, "get_line_number": true, "get_sim_country_iso": true,
...

Eigenschaftsmuster

Was DroidLysis erkennt, kann in den Dateien des Verzeichnisses ./conf konfiguriert und erweitert werden.

Ein Muster besteht aus:

  • einem Tag-Namen: Beispiel send_sms. Dient zur Benennung der Eigenschaft. Muss innerhalb der .conf-Datei eindeutig sein.
  • einem Muster: Dies ist ein regulärer Ausdruck, der abgeglichen wird. Bsp.: ;->sendTextMessage|;->sendMultipartTextMessage|SmsManager;->sendDataMessage. In der smali.conf-Datei wird dieser reguläre Ausdruck auf Smali-Code angewendet. In diesem speziellen Fall gibt es 3 verschiedene Möglichkeiten, SMS-Nachrichten aus dem Code zu senden: sendTextMessage, sendMultipartTextMessage und sendDataMessage.
  • einer Beschreibung (optional): Erklärt die Bedeutung der Eigenschaft und was sie bedeutet.
root@kitploit:~
[send_sms]
pattern=;->sendTextMessage|;->sendMultipartTextMessage|SmsManager;->sendDataMessage
description=Senden von SMS-Nachrichten

Importieren von Exodus Privacy Tracker

Exodus Privacy pflegt eine Liste verschiedener SDKs, die es interessant ist, in unserer Analyse über conf/kit.conf auszuschließen. Fügen Sie die Option --import_exodus zur droidlysis-Befehlszeile hinzu: Dies wird vorhandene Tracker, die Exodus Privacy kennt und die noch nicht in Ihrer kit.conf enthalten sind, parsen. Schließlich werden alle neuen Tracker an ~/.cache/droidlysis/kit.conf angehängt.

Danach möchten Sie vielleicht Ihre kit.conf-Datei sortieren:

root@kitploit:~
import configparser
import collections
import os

config = configparser.ConfigParser({}, collections.OrderedDict)
config.read(os.path.expanduser('~/.cache/droidlysis/kit.conf'))
# Order all sections alphabetically
config._sections = collections.OrderedDict(sorted(config._sections.items(), key=lambda t: t[0] ))
with open('sorted.conf','w') as f:
    config.write(f)

JEB-Skript für Smali-Eigenschaften

Dieses Skript hilft Ihnen, auf der JEB-Oberfläche nach Methoden zu suchen, die Code enthalten, der dem Smali-Muster entspricht, und einfach zu diesen Funktionen zu navigieren. Wenn Sie das Skript laden und die Datei details.md unter den Droidlysis-Analysedateien auswählen, erscheint ein Suchfeld. Nach dem Verschieben können Sie das Suchfenster einfach wieder aufrufen, indem Sie die Verknüpfung für die letzte Skriptausführung verwenden.

  • JEB > File > Scripts > Script selector > script/DroidlysisSearch.py
  • JEB > File > Scripts > Run last Script

Aktualisierungen

  • v3.4.7 - Procyon entfernt, mehrere PRs #24 und #25 integriert, detailliertere Erkennung von Missbrauch der Barrierefreiheit hinzugefügt
  • v3.4.6 - Erkennung von Manifest-Funktionen, die APK automatisch bei der Installation laden
  • v3.4.5 - Erstellen einer beschreibbaren Benutzer-kit.conf-Datei
  • v3.4.4 - Fehlerbehebung #14
  • v3.4.3 - Verwendung von Konfigurationsdateien
  • v3.4.2 - Hinzufügen des Imports von Exodus Privacy Tracker
  • v3.4.1 - Abhängigkeit zu Androguard entfernt
  • v3.4.0 - Multidex-Unterstützung
  • v3.3.1 - Verbesserung der Erkennung von Base64-Strings
  • v3.3.0 - Ausgabe von Daten nach JSON
  • v3.2.1 - Erkennung von IP-Adressen
  • v3.2.0 - Dex2jar ist optional
  • v3.1.0 - Erkennung von Base64-Strings
Tool herunterladen