APK decompilers
Для докладніших відомостей про кожний інструмент перегляньте оригінальний пост з 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 "каталог_виведення"
Для великих файлів JAR налаштуйте виділення пам'яті JVM:
java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "каталог_виведення"
Fernflower, аналітичний декомпілятор, потребує побудови з вихідних кодів. Після побудови:
Декомпілюйте файл JAR:
java -jar ./fernflower.jar "app.jar" "каталог_виведення"
Потім витягніть файли.java
з згенерованого JAR за допомогоюunzip
.
Krakatau пропонує детальний контроль над декомпіляцією, особливо для обробки зовнішніх бібліотек.
Використовуйте Krakatau, вказавши шлях до стандартної бібліотеки та файл JAR для декомпіляції:
./Krakatau/decompile.py -out "каталог_виведення" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"
Для простої декомпіляції з procyon:
Декомпілюйте файл JAR у вказаний каталог:
procyon -jar "app.jar" -o "каталог_виведення"
Last updated