APK decompilers
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Для отримання додаткової інформації про кожен інструмент перегляньте оригінальний пост з https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr
Як піонер GUI Java декомпілятора, JD-Gui дозволяє вам досліджувати Java код у файлах APK. Його легко використовувати; після отримання APK просто відкрийте його за допомогою JD-Gui, щоб перевірити код.
Jadx пропонує зручний інтерфейс для декомпіляції Java коду з Android додатків. Рекомендується за його простоту використання на різних платформах.
Щоб запустити GUI, перейдіть до каталогу bin і виконайте:
jadx-gui
Для використання з командного рядка, декомпіліруйте APK за допомогою:
jadx app.apk
Щоб вказати каталог виводу або налаштувати параметри декомпіляції:
jadx app.apk -d <шлях до каталогу виводу> --no-res --no-src --no-imports
GDA, інструмент лише для Windows, пропонує розширені функції для реверс-інжинірингу Android додатків. Встановіть і запустіть GDA на вашій Windows системі, потім завантажте файл APK для аналізу.
З Bytecode-Viewer ви можете аналізувати файли APK, використовуючи кілька декомпіляторів. Після завантаження запустіть Bytecode-Viewer, завантажте ваш APK і виберіть декомпілятори, які ви хочете використовувати для одночасного аналізу.
Enjarify перетворює Dalvik байт-код у Java байт-код, що дозволяє Java інструментам аналізувати Android додатки більш ефективно.
Щоб використовувати Enjarify, запустіть:
enjarify app.apk
Це генерує еквівалент Java байт-коду наданого APK.
CFR здатний декомпілірувати сучасні Java функції. Використовуйте його наступним чином:
Для стандартної декомпіляції:
java -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Для великих JAR файлів, налаштуйте виділення пам'яті JVM:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"
Fernflower, аналітичний декомпілятор, вимагає компіляції з виходу. Після компіляції:
Декомпіліруйте JAR файл:
java -jar ./fernflower.jar "app.jar" "output_directory"
Потім витягніть.java
файли з згенерованого JAR за допомогоюunzip
.
Krakatau пропонує детальний контроль над декомпіляцією, особливо для обробки зовнішніх бібліотек.
Використовуйте Krakatau, вказуючи шлях до стандартної бібліотеки та JAR файл для декомпіляції:
./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
Для простого декомпілювання з procyon:
Декомпіліруйте JAR файл у вказаний каталог:
procyon -jar "app.jar" -o "output_directory"
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated