APK decompilers

Wsparcie dla HackTricks

Aby uzyskać więcej informacji na temat każdego narzędzia, sprawdź oryginalny post z https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr

Jako pionierski GUI dekompilator Java, JD-Gui pozwala na badanie kodu Java w plikach APK. Jest łatwy w użyciu; po uzyskaniu APK wystarczy otworzyć go w JD-Gui, aby sprawdzić kod.

Jadx oferuje przyjazny interfejs do dekompilacji kodu Java z aplikacji na Androida. Jest polecany za łatwość użycia na różnych platformach.

  • Aby uruchomić GUI, przejdź do katalogu bin i wykonaj: jadx-gui

  • Do użycia w wierszu poleceń, dekompiluj APK za pomocą: jadx app.apk

  • Aby określić katalog wyjściowy lub dostosować opcje dekompilacji: jadx app.apk -d <ścieżka do katalogu wyjściowego> --no-res --no-src --no-imports

GDA, narzędzie tylko dla systemu Windows, oferuje rozbudowane funkcje do inżynierii odwrotnej aplikacji na Androida. Zainstaluj i uruchom GDA na swoim systemie Windows, a następnie załaduj plik APK do analizy.

Z Bytecode-Viewer możesz analizować pliki APK za pomocą wielu dekompilatorów. Po pobraniu uruchom Bytecode-Viewer, załaduj swój APK i wybierz dekompilatory, które chcesz użyć do jednoczesnej analizy.

Enjarify tłumaczy bajtkod Dalvik na bajtkod Java, umożliwiając narzędziom analizy Java skuteczniejszą analizę aplikacji na Androida.

  • Aby użyć Enjarify, uruchom: enjarify app.apk To generuje równoważny bajtkod Java dla podanego APK.

CFR jest w stanie dekompilować nowoczesne funkcje Java. Użyj go w następujący sposób:

  • Do standardowej dekompilacji: java -jar ./cfr.jar "app.jar" --outputdir "output_directory"

  • Dla dużych plików JAR, dostosuj przydział pamięci JVM: java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"

Fernflower, analityczny dekompilator, wymaga budowy ze źródła. Po zbudowaniu:

  • Dekompiluj plik JAR: java -jar ./fernflower.jar "app.jar" "output_directory" Następnie wyodrębnij pliki .java z wygenerowanego JAR za pomocą unzip.

Krakatau oferuje szczegółową kontrolę nad dekompilacją, szczególnie w przypadku obsługi zewnętrznych bibliotek.

  • Użyj Krakatau, określając ścieżkę do biblioteki standardowej i plik JAR do dekompilacji: ./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"

Dla prostych dekompilacji z procyon:

  • Dekompiluj plik JAR do określonego katalogu: procyon -jar "app.jar" -o "output_directory"

Wsparcie dla HackTricks

Last updated