APK decompilers

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Za dodatne detalje o svakom alatu proverite originalni post sa https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr

Kao pionirski GUI Java dekompajler, JD-Gui vam omogućava da istražujete Java kod unutar APK datoteka. Lako je za korišćenje; nakon što dobijete APK, jednostavno ga otvorite sa JD-Gui da biste pregledali kod.

Jadx nudi korisnički prijateljski interfejs za dekompilaciju Java koda iz Android aplikacija. Preporučuje se zbog svoje jednostavnosti korišćenja na različitim platformama.

  • Da biste pokrenuli GUI, idite u bin direktorijum i izvršite: jadx-gui

  • Za korišćenje iz komandne linije, dekompilujte APK sa: jadx app.apk

  • Da biste odredili izlazni direktorijum ili prilagodili opcije dekompilacije: jadx app.apk -d <putanja do izlaznog direktorijuma> --no-res --no-src --no-imports

GDA, alat koji radi samo na Windows-u, nudi opsežne funkcije za obrnuto inženjerstvo Android aplikacija. Instalirajte i pokrenite GDA na vašem Windows sistemu, a zatim učitajte APK datoteku za analizu.

Sa Bytecode-Viewer, možete analizirati APK datoteke koristeći više dekompajlera. Nakon preuzimanja, pokrenite Bytecode-Viewer, učitajte svoj APK i odaberite dekompajlere koje želite koristiti za simultanu analizu.

Enjarify prevodi Dalvik bajtkod u Java bajtkod, omogućavajući Java analitičkim alatima da efikasnije analiziraju Android aplikacije.

  • Da biste koristili Enjarify, pokrenite: enjarify app.apk Ovo generiše Java bajtkod ekvivalent datom APK-u.

CFR je sposoban da dekompajlira moderne Java funkcije. Koristite ga na sledeći način:

  • Za standardnu dekompilaciju: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • Za velike JAR datoteke, prilagodite JVM alokaciju memorije: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflower, analitički dekompajler, zahteva izgradnju iz izvora. Nakon izgradnje:

  • Dekompilirajte JAR datoteku: java -jar ./fernflower.jar "app.jar" "output_directory" Zatim, izdvojite .java datoteke iz generisane JAR datoteke koristeći unzip.

Krakatau nudi detaljnu kontrolu nad dekompilacijom, posebno za rukovanje spoljnim bibliotekama.

  • Koristite Krakatau tako što ćete odrediti putanju do standardne biblioteke i JAR datoteku koju treba dekompilirati: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

Za jednostavnu dekompilaciju sa procyon:

  • Dekompilirajte JAR datoteku u određeni direktorijum: procyon -jar "app.jar" -o "output_directory"

Last updated