4.4 KiB
APK decompilers
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Vir verdere besonderhede oor elke hulpmiddel, kyk die oorspronklike pos van https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
As die baanbrekende GUI Java decompiler, JD-Gui laat jou toe om Java kode binne APK lêers te ondersoek. Dit is eenvoudig om te gebruik; nadat jy die APK verkry het, maak dit net met JD-Gui oop om die kode te inspekteer.
Jadx
Jadx bied 'n gebruikersvriendelike koppelvlak vir die dekompilering van Java kode uit Android toepassings. Dit word aanbeveel vir sy gebruiksgemak oor verskillende platforms.
- Om die GUI te begin, navigeer na die bin-gids en voer uit:
jadx-gui
- Vir opdraglyn gebruik, decompileer 'n APK met:
jadx app.apk
- Om 'n uitvoer gids te spesifiseer of dekompilering opsies aan te pas:
jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA, 'n Windows-slegs hulpmiddel, bied uitgebreide funksies vir die omgekeerde ingenieurswese van Android toepassings. Installeer en voer GDA op jou Windows stelsel uit, laai dan die APK lêer vir analise.
Bytecode-Viewer
Met Bytecode-Viewer, kan jy APK lêers analiseer met behulp van verskeie decompilers. Nadat jy afgelaai het, voer Bytecode-Viewer uit, laai jou APK, en kies die decompilers wat jy wil gebruik vir gelyktydige analise.
Enjarify
Enjarify vertaal Dalvik bytecode na Java bytecode, wat dit moontlik maak vir Java analise gereedskap om Android toepassings meer effektief te analiseer.
- Om Enjarify te gebruik, voer uit:
enjarify app.apk
Dit genereer die Java bytecode ekwivalent van die verskafde APK.
CFR
CFR is in staat om moderne Java funksies te decompileer. Gebruik dit soos volg:
- Vir standaard dekompilering:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- Vir groot JAR lêers, pas die JVM geheue toewysing aan:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflower, 'n analitiese decompiler, vereis om van bron gebou te word. Nadat jy gebou het:
- Decompileer 'n JAR lêer:
java -jar ./fernflower.jar "app.jar" "output_directory"
Trek dan die.java
lêers uit die gegenereerde JAR metunzip
.
Krakatau
Krakatau bied gedetailleerde beheer oor dekompilering, veral vir die hantering van eksterne biblioteke.
- Gebruik Krakatau deur die standaard biblioteek pad en die JAR lêer wat gedekomplileer moet word, te spesifiseer:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
Vir eenvoudige dekompilering met procyon:
- Decompileer 'n JAR lêer na 'n spesifieke gids:
procyon -jar "app.jar" -o "output_directory"