hacktricks/mobile-pentesting/android-app-pentesting/apk-decompilers.md
2024-02-10 13:03:23 +00:00

5.6 KiB

Decompilatori APK

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

JD-Gui

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

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-android-reversing-Tool

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.

Bytecode-Viewer

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

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

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

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

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"

procyon

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: