APK decompilers

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Per ulteriori dettagli su ogni strumento, consulta il post originale su https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr

Come il decompilatore GUI Java pioniere, JD-Gui ti consente di esaminare il codice Java all'interno dei file APK. È facile da usare; dopo aver ottenuto l'APK, aprilo semplicemente con JD-Gui per ispezionare il codice.

Jadx offre un'interfaccia utente intuitiva per decompilare il codice Java delle applicazioni Android. È consigliato per la sua facilità d'uso su diverse piattaforme.

  • Per avviare l'interfaccia utente, vai alla 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 <percorso alla directory di output> --no-res --no-src --no-imports

GDA, uno strumento disponibile solo per Windows, offre numerose funzionalità per l'ingegneria inversa delle app Android. Installa e avvia 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 averlo scaricato, esegui Bytecode-Viewer, carica il tuo APK e seleziona i decompilatori che desideri utilizzare per l'analisi simultanea.

Enjarify traduce il bytecode Dalvik in bytecode Java, consentendo agli strumenti di analisi Java di analizzare in modo più efficace le applicazioni Android.

  • Per utilizzare Enjarify, esegui: enjarify app.apk Questo genera il bytecode Java equivalente all'APK fornito.

CFR è in grado di decompilare le moderne funzionalità di Java. Usalo nel seguente modo:

  • Per la decompilazione standard: java -jar ./cfr.jar "app.jar" --outputdir "directory_output"

  • Per file JAR di grandi dimensioni, regola l'allocazione di memoria JVM: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "directory_output"

Fernflower, un decompilatore analitico, richiede la compilazione da codice sorgente. Dopo la compilazione:

  • Decompila un file JAR: java -jar ./fernflower.jar "app.jar" "directory_output" Quindi, estrai i file .java dal JAR generato utilizzando unzip.

Krakatau offre un controllo dettagliato sulla decompilazione, specialmente per la gestione di librerie esterne.

  • Usa Krakatau specificando il percorso della libreria standard e il file JAR da decompilare: ./Krakatau/decompile.py -out "directory_output" -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 "directory_output"

Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated