APK-Decompiler
Reading time: 4 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Für weitere Details zu jedem Tool siehe den Originalbeitrag von https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
Als der wegweisende GUI-Java-Decompiler ermöglicht JD-Gui die Untersuchung von Java-Code innerhalb von APK-Dateien. Es ist einfach zu bedienen; nach dem Erhalt der APK öffnen Sie sie einfach mit JD-Gui, um den Code zu inspizieren.
Jadx
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 decompilieren 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-android-reversing-Tool
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.
Bytecode-Viewer
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
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
CFR kann moderne Java-Funktionen decompilieren. Verwenden Sie es wie folgt:
- Für die Standard-Decompilierung:
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
Fernflower, ein analytischer Decompiler, muss aus dem Quellcode erstellt werden. Nach dem Erstellen:
- Decompilieren Sie eine JAR-Datei:
java -jar ./fernflower.jar "app.jar" "output_directory"
Dann extrahieren Sie die.java
-Dateien aus der generierten JAR mitunzip
.
Krakatau
Krakatau bietet detaillierte Kontrolle über die Decompilierung, insbesondere beim Umgang mit externen Bibliotheken.
- Verwenden Sie Krakatau, indem Sie den Pfad zur Standardbibliothek und die JAR-Datei angeben, die decompiliert werden soll:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
Für eine einfache Decompilierung mit procyon:
- Decompilieren Sie eine JAR-Datei in ein angegebenes Verzeichnis:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
Dieses Tool kann verwendet werden, um das DEX einer laufenden APK im Speicher zu dumpen. Dies hilft, statische Obfuskation zu überwinden, die entfernt wird, während die Anwendung im Speicher ausgeführt wird.
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.