APK decompilers
Reading time: 3 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Kwa maelezo zaidi kuhusu kila chombo angalia chapisho la asili kutoka https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
JD-Gui
Kama decompiler ya GUI ya kwanza ya Java, JD-Gui inakuwezesha kuchunguza msimbo wa Java ndani ya faili za APK. Ni rahisi kutumia; baada ya kupata APK, fungua tu na JD-Gui ili kukagua msimbo.
Jadx
Jadx inatoa kiolesura rafiki kwa mtumiaji kwa ajili ya decompiling msimbo wa Java kutoka kwa programu za Android. Inapendekezwa kwa urahisi wa matumizi katika majukwaa tofauti.
- Ili kuanzisha GUI, nenda kwenye saraka ya bin na tekeleza:
jadx-gui
- Kwa matumizi ya amri, decompile APK kwa:
jadx app.apk
- Ili kubainisha saraka ya matokeo au kurekebisha chaguzi za decompilation:
jadx app.apk -d <path to output dir> --no-res --no-src --no-imports
GDA-android-reversing-Tool
GDA, chombo cha Windows pekee, kinatoa vipengele vingi kwa ajili ya uhandisi wa nyuma wa programu za Android. Sakinisha na endesha GDA kwenye mfumo wako wa Windows, kisha pakia faili ya APK kwa uchambuzi.
Bytecode-Viewer
Pamoja na Bytecode-Viewer, unaweza kuchambua faili za APK kwa kutumia decompilers mbalimbali. Baada ya kupakua, endesha Bytecode-Viewer, pakia APK yako, na chagua decompilers unazotaka kutumia kwa uchambuzi wa pamoja.
Enjarify
Enjarify inatafsiri Dalvik bytecode kuwa Java bytecode, ikiruhusu zana za uchambuzi wa Java kuchambua programu za Android kwa ufanisi zaidi.
- Ili kutumia Enjarify, endesha:
enjarify app.apk
Hii inazalisha Java bytecode sawa na APK iliyotolewa.
CFR
CFR ina uwezo wa decompiling vipengele vya kisasa vya Java. Tumia kama ifuatavyo:
- Kwa decompilation ya kawaida:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
- Kwa faili kubwa za JAR, rekebisha ugawaji wa kumbukumbu ya JVM:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower
Fernflower, decompiler wa uchambuzi, inahitaji kujengwa kutoka chanzo. Baada ya kujenga:
- Decompile faili ya JAR:
java -jar ./fernflower.jar "app.jar" "output_directory"
Kisha, toa faili za.java
kutoka kwa JAR iliyozalishwa kwa kutumiaunzip
.
Krakatau
Krakatau inatoa udhibiti wa kina juu ya decompilation, hasa kwa kushughulikia maktaba za nje.
- Tumia Krakatau kwa kubainisha njia ya maktaba ya kawaida na faili ya JAR ya decompile:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
procyon
Kwa decompilation rahisi na procyon:
- Decompile faili ya JAR kwenye saraka iliyobainishwa:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
Chombo hiki kinaweza kutumika kutoa DEX ya APK inayotembea katika kumbukumbu. Hii husaidia kushinda obfuscation ya statiki ambayo inondolewa wakati programu inatekelezwa katika kumbukumbu.
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.