hacktricks/mobile-pentesting/android-app-pentesting/apk-decompilers.md

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
{% endhint %} {% endhint %}

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

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"