APK decompilers

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Für weitere Details zu jedem Tool lesen Sie den Originalbeitrag von https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr

Als bahnbrechender GUI-Java-Decompiler ermöglicht es Ihnen JD-Gui, Java-Code in APK-Dateien zu untersuchen. Es ist einfach zu bedienen; nachdem Sie die APK erhalten haben, öffnen Sie sie einfach mit JD-Gui, um den Code zu inspizieren.

Jadx bietet eine benutzerfreundliche Oberfläche zum Dekompilieren von Java-Code aus Android-Anwendungen. Es wird aufgrund seiner Benutzerfreundlichkeit auf verschiedenen Plattformen empfohlen.

  • Um die GUI zu starten, navigieren Sie zum bin-Verzeichnis und führen Sie aus: jadx-gui

  • Für die Verwendung in der Befehlszeile dekompilieren Sie eine APK mit: jadx app.apk

  • Um ein Ausgabeverzeichnis anzugeben oder Dekompilierungsoptionen anzupassen: jadx app.apk -d <Pfad zum Ausgabeverzeichnis> --no-res --no-src --no-imports

GDA, ein nur für Windows verfügbares Tool, bietet umfangreiche Funktionen für die Reverse Engineering von Android-Apps. Installieren und starten Sie GDA auf Ihrem Windows-System und laden Sie dann die APK-Datei zur Analyse.

Mit Bytecode-Viewer können Sie APK-Dateien mit mehreren Decompilern analysieren. Nach dem Herunterladen führen Sie Bytecode-Viewer aus, laden Ihre APK und wählen die Decompiler aus, die Sie für die gleichzeitige Analyse verwenden möchten.

Enjarify übersetzt Dalvik-Bytecode in Java-Bytecode, um Java-Analysetools zu ermöglichen, Android-Anwendungen effektiver zu analysieren.

  • Um Enjarify zu verwenden, führen Sie aus: enjarify app.apk Dies erzeugt den Java-Bytecode, der der bereitgestellten APK entspricht.

CFR ist in der Lage, moderne Java-Funktionen zu dekompilieren. Verwenden Sie es wie folgt:

  • Für die Standard-Dekompilierung: java -jar ./cfr.jar "app.jar" --outputdir "Ausgabeverzeichnis"

  • Für große JAR-Dateien passen Sie die JVM-Speicherzuweisung an: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "Ausgabeverzeichnis"

Fernflower, ein analytischer Decompiler, erfordert den Bau aus dem Quellcode. Nach dem Bau:

  • Dekompilieren Sie eine JAR-Datei: java -jar ./fernflower.jar "app.jar" "Ausgabeverzeichnis" Extrahieren Sie dann die .java-Dateien aus der generierten JAR mit unzip.

Krakatau bietet eine detaillierte Kontrolle über die Dekompilierung, insbesondere für die Handhabung externer Bibliotheken.

  • Verwenden Sie Krakatau, indem Sie den Pfad zur Standardbibliothek und die zu dekompilierende JAR-Datei angeben: ./Krakatau/decompile.py -out "Ausgabeverzeichnis" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

Für eine einfache Dekompilierung mit procyon:

  • Dekompilieren Sie eine JAR-Datei in ein angegebenes Verzeichnis: procyon -jar "app.jar" -o "Ausgabeverzeichnis"

Lernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated