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

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 kutumia unzip.

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