APK decompilers
Last updated
Last updated
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Per ulteriori dettagli su ciascun strumento controlla il post originale da https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
Come il pioniere dei decompilatori GUI Java, JD-Gui ti consente di investigare il codice Java all'interno dei file APK. È semplice da usare; dopo aver ottenuto l'APK, aprilo semplicemente con JD-Gui per ispezionare il codice.
Jadx offre un'interfaccia user-friendly per decompilare il codice Java dalle applicazioni Android. È raccomandato per la sua facilità d'uso su diverse piattaforme.
Per avviare la GUI, naviga nella directory bin ed esegui: jadx-gui
Per l'uso da riga di comando, decompila un APK con: jadx app.apk
Per specificare una directory di output o regolare le opzioni di decompilazione: jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA, uno strumento solo per Windows, offre ampie funzionalità per il reverse engineering delle app Android. Installa e esegui GDA sul tuo sistema Windows, quindi carica il file APK per l'analisi.
Con Bytecode-Viewer, puoi analizzare i file APK utilizzando più decompilatori. Dopo aver scaricato, esegui Bytecode-Viewer, carica il tuo APK e seleziona i decompilatori che desideri utilizzare per un'analisi simultanea.
Enjarify traduce il bytecode Dalvik in bytecode Java, consentendo agli strumenti di analisi Java di analizzare le applicazioni Android in modo più efficace.
Per utilizzare Enjarify, esegui: enjarify app.apk
Questo genera l'equivalente bytecode Java dell'APK fornito.
CFR è in grado di decompilare le funzionalità Java moderne. Usalo come segue:
Per la decompilazione standard: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Per file JAR di grandi dimensioni, regola l'allocazione della memoria JVM: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower, un decompilatore analitico, richiede la costruzione dal sorgente. Dopo la costruzione:
Decompila un file JAR: java -jar ./fernflower.jar "app.jar" "output_directory"
Poi, estrai i file .java
dal JAR generato usando unzip
.
Krakatau offre un controllo dettagliato sulla decompilazione, specialmente per la gestione delle librerie esterne.
Usa Krakatau specificando il percorso della libreria standard e il file JAR da decompilare: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
Per una decompilazione semplice con procyon:
Decompila un file JAR in una directory specificata: procyon -jar "app.jar" -o "output_directory"
Questo strumento può essere utilizzato per dumpare il DEX di un APK in esecuzione in memoria. Questo aiuta a superare l'oscuramento statico che viene rimosso mentre l'applicazione è eseguita in memoria.
Impara e pratica AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)