5.7 KiB
APK decompilers
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się sztuczkami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.
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
JD-Gui
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
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-android-reversing-Tool
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.
Bytecode-Viewer
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
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 bajtkod Java odpowiadający podanemu APK.
CFR
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
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
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"
procyon
Dla prostych dekompilacji z procyon:
- Dekompiluj plik JAR do określonego katalogu:
procyon -jar "app.jar" -o "output_directory"
frida-DEXdump
To narzędzie może być używane do zrzucania DEX działającego APK w pamięci. Pomaga to pokonać statyczną obfuskację, która jest usuwana podczas wykonywania aplikacji w pamięci.
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Podziel się sztuczkami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów github.