APK decompilers
Für weitere Details zu jedem Tool überprüfen 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 der Pionier unter den GUI-Java-Decompilern ermöglicht JD-Gui Ihnen, Java-Code innerhalb von 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 Decompilieren von Java-Code aus Android-Anwendungen. Es wird wegen 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 über die Befehlszeile dekompilieren Sie eine APK mit:
jadx app.apk
Um ein Ausgabeverzeichnis anzugeben oder Decompilierungsoptionen anzupassen:
jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA, ein nur für Windows verfügbares Tool, bietet umfangreiche Funktionen für das Reverse Engineering von Android-Apps. Installieren und führen Sie GDA auf Ihrem Windows-System aus, 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, sodass Java-Analysetools Android-Anwendungen effektiver analysieren können.
Um Enjarify zu verwenden, führen Sie aus:
enjarify app.apk
Dies erzeugt den Java-Bytecode, der dem bereitgestellten APK entspricht.
CFR kann moderne Java-Funktionen dekompilieren. Verwenden Sie es wie folgt:
Für die Standard-Dekompilierung:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Für große JAR-Dateien passen Sie die JVM-Speicherzuweisung an:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower, ein analytischer Decompiler, muss aus dem Quellcode erstellt werden. Nach dem Erstellen:
Dekompilieren Sie eine JAR-Datei:
java -jar ./fernflower.jar "app.jar" "output_directory"
Extrahieren Sie dann die.java
-Dateien aus der generierten JAR mitunzip
.
Krakatau bietet detaillierte Kontrolle über die Dekompilierung, insbesondere beim Umgang mit externen Bibliotheken.
Verwenden Sie Krakatau, indem Sie den Pfad zur Standardbibliothek und die JAR-Datei angeben, die dekompiliert werden soll:
./Krakatau/decompile.py -out "output_directory" -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 "output_directory"
Last updated