
jadx-magic-strings v1.0.3-dev
JADX-Plugin, das Methodennamen, Klassenreferenzen und Quellcodedateipfade aus String-Konstanten extrahiert, die in DEX-Dateien und dekompiliertem Android-Code gefunden werden.
JADX Magic Strings Plugin
Ein JADX-Plugin, das Informationen aus String-Konstanten extrahiert.
Funktionen
Das Plugin extrahiert und analysiert String-Konstanten aus dekompiliertem Code, um Folgendes zu finden:
- Quellverweise: Erkennt Verweise auf Java/Kotlin-Quelldateien (
.java,.kt,.kts,.scala,.groovy) in String-Konstanten - Methodennamen-Kandidaten: Identifiziert potenzielle Methodennamen aus Strings mithilfe von Regex-Mustern
- String-Analyse: Sammelt alle String-Konstanten mit ihren zugehörigen Methoden und Klassen
Installation
Option 1: Von GitHub installieren (empfohlen)
Wenn dieses Plugin auf GitHub veröffentlicht ist, können Sie es direkt installieren:
jadx plugins --install "github:0rshemesh:jadx-magic-strings"
Option 2: Aus dem Quellcode erstellen und installieren
-
Repository klonen:
git clone https://github.com/0rshemesh/jadx-magic-strings.git cd jadx-magic-strings -
Plugin erstellen:
./gradlew build -
Plugin installieren:
jadx plugins --install-jar build/libs/jadx-magic-strings-1.0.1.jarOder kopieren Sie die JAR manuell in das JADX-Plugins-Verzeichnis:
- Linux/Mac:
~/.local/share/jadx/plugins/dropins/ - Windows:
%APPDATA%\jadx\plugins\dropins\
- Linux/Mac:
Plugin erstellen
Das Plugin kann unabhängig erstellt werden:
./gradlew build
Die Plugin-JAR wird erstellt unter:
build/libs/jadx-magic-strings-1.0.1.jar
Voraussetzungen:
- Java 11 oder höher
- Gradle (oder den enthaltenen Gradle-Wrapper verwenden:
./gradlew)
Verwendung
In der JADX-GUI
-
Plugin installieren (siehe Installationsabschnitt oben)
-
JADX-GUI ausführen:
jadx-gui -
Öffnen Sie Ihre APK/DEX-Datei in der JADX-GUI
-
Warten Sie auf den Abschluss der Dekompilierung (das Plugin wird automatisch nach der Dekompilierung ausgeführt)
-
Auf das Plugin zugreifen:
- Gehen Sie zum Plugins-Menü in der Menüleiste
- Klicken Sie auf "Magic Strings: Show Results"
- Ein Dialogfenster mit mehreren Registerkarten wird geöffnet:
- Quelldateien: Baumansicht mit erkannten Quelldateipfaden und deren Verweisen
- Top-Kandidaten + Quelldateien: Kombinierte Ansicht der am höchsten bewerteten Methodennamen-Kandidaten, gruppiert nach Quelldatei
- Methodenkandidaten (gefiltert): Tabelle mit gefilterten Methodennamen-Kandidaten
- Alle Strings: Tabelle mit allen extrahierten String-Konstanten

In der JADX-CLI
Das Plugin wird während der Dekompilierung automatisch ausgeführt, aber es gibt keine CLI-Schnittstelle zum Anzeigen der Ergebnisse. Verwenden Sie die GUI, um die extrahierten Informationen zu sehen.
Funktionsweise
- Nach der Dekompilierung durchsucht das Plugin alle Methoden in allen Klassen
- Extrahiert String-Konstanten aus Anweisungsknoten (CONST_STR-Anweisungen)
- Analysiert Strings mithilfe von Regex-Mustern:
- Quelldateien: Entspricht Dateipfaden, die auf
.java,.ktusw. enden. - Methodennamen: Entspricht CamelCase-Mustern, die wie Methodennamen aussehen
- Quelldateien: Entspricht Dateipfaden, die auf
- Speichert Ergebnisse in einer Datenstruktur, die über die GUI zugänglich ist
Beispielhafte Anwendungsfälle
- Reverse Engineering: Finden Sie ursprüngliche Quelldateinamen, die die Projektstruktur offenbaren könnten
- Entschleierung: Identifizieren Sie Methodennamen aus Debug-Strings oder Fehlermeldungen
- Code-Analyse: Verstehen Sie die Beziehungen zwischen Strings und Methoden
- Malware-Analyse: Extrahieren Sie interessante Strings, die auf Funktionalität hinweisen könnten
Einschränkungen
- Das Plugin funktioniert nur, nachdem die Dekompilierung abgeschlossen ist
- Die String-Extraktion hängt vom dekompilierten Code ab (bei manchem obfuskiertem Code sind möglicherweise keine Strings zugänglich)
- Die Erkennung von Methodennamen verwendet Heuristiken und kann Fehlalarme produzieren
- Die Erkennung von Quelldateien ist auf Strings angewiesen, die Dateipfade enthalten (nicht immer vorhanden)
Fehlerbehebung
Plugin erscheint nicht im Menü:
- Stellen Sie sicher, dass das Plugin korrekt installiert ist
- Überprüfen Sie, ob sich die Plugin-JAR im Plugins-Verzeichnis befindet
- Überprüfen Sie, ob die Service-Datei existiert:
META-INF/services/jadx.api.plugins.JadxPlugin - Stellen Sie sicher, dass Sie eine kompatible JADX-Version verwenden (1.5.2+)
Keine Ergebnisse angezeigt:
- Der Code könnte keine relevanten Strings enthalten
- Versuchen Sie, eine andere APK/DEX-Datei zu dekompilieren
- Manch obfuskieter Code hat möglicherweise keine extrahierbaren Strings
Build-Fehler:
- Stellen Sie sicher, dass Sie Java 11 oder höher verwenden
- Führen Sie
./gradlew clean buildaus, um alles neu zu erstellen - Überprüfen Sie, ob die JADX-Version in
build.gradle.ktsmit einer auf Maven Central verfügbaren Version übereinstimmt
Autor
Erstellt und gewartet von 0rshemesh.
- GitHub: @0rshemesh
- Repository: jadx-magic-strings
- Email: [email protected]
Lizenz
Dieses Plugin ist unter der Apache License 2.0 lizenziert. Siehe die Datei LICENSE für Details.