APK decompilers

Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

Для отримання додаткової інформації про кожен інструмент перегляньте оригінальний пост з 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)

Support HackTricks

Last updated