Что это такое
jadx — один из самых известных инструментов для анализа Android-приложений без исходников. Он берет DEX, APK, AAB, AAR или zip-файл и пытается восстановить Java-представление кода, а также разобрать манифест и ресурсы. Для исследователя безопасности, Android-разработчика или человека, который разбирает чужое приложение, это быстрый способ увидеть структуру проекта.
Проект живет с 2013 года и развивается как два инструмента рядом: командная строка для автоматизации и jadx-gui для ручного изучения. В графическом интерфейсе есть подсветка синтаксиса, переходы к объявлениям, поиск использований, полный поиск по тексту и отладчик smali.
Что внутри репозитория
Репозиторий содержит ядро декомпиляции, CLI, графическое приложение и документацию по сборке. Отдельная ценность — встроенный деобфускатор и работа с Android-ресурсами. jadx не обещает восстановить идеальный исходный проект: байткод, оптимизации компилятора и обфускация часто делают результат неполным. Но для навигации по приложению он обычно дает быстрый старт.
Быстрый разбор APK
Пример показывает два режима: сначала открыть приложение в jadx-gui, а затем получить декомпилированные файлы через командную строку для дальнейшего поиска или сравнения.
jadx-gui app.apk
jadx -d out app.apk
rg "apiUrl|token|certificate" out
Как используют
jadx используют для аудита мобильных приложений, поиска уязвимых конфигураций, изучения библиотек, восстановления потерянной логики и обучения Android-внутренностям. В командах безопасности он часто стоит рядом с apktool, Frida, эмулятором и статическими анализаторами.
Сильные стороны и ограничения
Сильная сторона jadx — сочетание удобного интерфейса и пригодности для скриптов. Можно быстро открыть APK глазами, а потом повторить часть анализа в CI или локальном скрипте. Ограничение — природа декомпиляции: результат помогает понять поведение, но не является настоящим исходным кодом. Для серьезных выводов его нужно проверять запуском, трассировкой и анализом байткода.