
jadx-magic-strings v1.0.3-dev
Plugin JADX che estrae nomi di metodi, riferimenti alle classi e percorsi di file sorgente dalle costanti di stringa presenti nei file DEX e nel codice Android decompilato.
Plugin JADX Magic Strings
Un plugin per JADX che estrae informazioni dalle costanti stringa.
Caratteristiche
Il plugin estrae e analizza le costanti stringa dal codice decompilato per trovare:
- Riferimenti a file sorgente: Rileva riferimenti a file sorgente Java/Kotlin (
.java,.kt,.kts,.scala,.groovy) nelle costanti stringa - Candidati nomi di metodo: Identifica potenziali nomi di metodo dalle stringhe utilizzando pattern regex
- Analisi delle stringhe: Raccoglie tutte le costanti stringa con i relativi metodi e classi
Installazione
Opzione 1: Installazione da GitHub (Consigliata)
Se questo plugin è pubblicato su GitHub, puoi installarlo direttamente:
jadx plugins --install "github:0rshemesh:jadx-magic-strings"
Opzione 2: Compilazione e installazione dal sorgente
-
Clona il repository:
git clone https://github.com/0rshemesh/jadx-magic-strings.git cd jadx-magic-strings -
Compila il plugin:
./gradlew build -
Installa il plugin:
jadx plugins --install-jar build/libs/jadx-magic-strings-1.0.1.jarOppure copia manualmente il JAR nella directory dei plugin di JADX:
- Linux/Mac:
~/.local/share/jadx/plugins/dropins/ - Windows:
%APPDATA%\jadx\plugins\dropins\
- Linux/Mac:
Compilazione del Plugin
Il plugin può essere compilato in modo indipendente:
./gradlew build
Il JAR del plugin verrà creato in:
build/libs/jadx-magic-strings-1.0.1.jar
Requisiti:
- Java 11 o superiore
- Gradle (oppure usa il wrapper Gradle incluso:
./gradlew)
Utilizzo
Nella GUI di JADX
-
Installa il plugin (vedi sezione Installazione sopra)
-
Avvia la GUI di JADX:
jadx-gui -
Apri il tuo file APK/DEX nella GUI di JADX
-
Attendi il completamento della decompilazione (il plugin viene eseguito automaticamente dopo la decompilazione)
-
Accedi al plugin:
- Vai al menu Plugins nella barra dei menu
- Clicca su "Magic Strings: Show Results"
- Si aprirà una finestra di dialogo con più schede:
- Source Files: Vista ad albero che mostra i percorsi dei file sorgente rilevati e i loro riferimenti
- Top Candidates + Source Files: Vista combinata dei candidati metodo con punteggio più alto raggruppati per file sorgente
- Method Candidates (Filtered): Tabella che mostra i candidati nomi di metodo filtrati
- All Strings: Tabella che mostra tutte le costanti stringa estratte

Nella CLI di JADX
Il plugin viene eseguito automaticamente durante la decompilazione, ma non esiste un'interfaccia CLI per visualizzare i risultati. Usa la GUI per vedere le informazioni estratte.
Come Funziona
- Dopo la decompilazione, il plugin analizza tutti i metodi in tutte le classi
- Estrae le costanti stringa dai nodi delle istruzioni (istruzioni CONST_STR)
- Analizza le stringhe utilizzando pattern regex:
- File sorgente: Individua percorsi che terminano con
.java,.kt, ecc. - Nomi di metodo: Individua pattern camelCase che somigliano a nomi di metodo
- File sorgente: Individua percorsi che terminano con
- Memorizza i risultati in una struttura dati accessibile tramite la GUI
Esempi di Casi d'Uso
- Reverse Engineering: Trova i nomi originali dei file sorgente che potrebbero rivelare la struttura del progetto
- Deoffuscamento: Identifica i nomi dei metodi da stringhe di debug o messaggi di errore
- Analisi del codice: Comprendi le relazioni tra stringhe e metodi
- Analisi malware: Estrai stringhe interessanti che potrebbero indicare funzionalità
Limitazioni
- Il plugin funziona solo dopo il completamento della decompilazione
- L'estrazione delle stringhe dipende dal codice decompilato (alcuni codici offuscati potrebbero non avere stringhe accessibili)
- Il rilevamento dei nomi di metodo utilizza euristiche e potrebbe produrre falsi positivi
- Il rilevamento dei file sorgente si basa su stringhe contenenti percorsi di file (non sempre presenti)
Risoluzione dei Problemi
Il plugin non appare nel menu:
- Assicurati che il plugin sia installato correttamente
- Controlla che il JAR del plugin sia nella directory dei plugin
- Verifica che il file di servizio esista:
META-INF/services/jadx.api.plugins.JadxPlugin - Assicurati di usare una versione compatibile di JADX (1.5.2+)
Nessun risultato mostrato:
- Il codice potrebbe non contenere stringhe pertinenti
- Prova a decompilare un file APK/DEX diverso
- Alcuni codici offuscati potrebbero non avere stringhe estraibili
Errori di compilazione:
- Assicurati di usare Java 11 o superiore
- Esegui
./gradlew clean buildper ricompilare tutto - Controlla che la versione di JADX in
build.gradle.ktscorrisponda a una versione disponibile su Maven Central
Autore
Creato e mantenuto da 0rshemesh.
- GitHub: @0rshemesh
- Repository: jadx-magic-strings
- Email: [email protected]
Licenza
Questo plugin è concesso in licenza secondo la Apache License 2.0. Consulta il file LICENSE per i dettagli.