Reverse engineering Android-приложений — это разбор APK, чтобы понять, как устроена логика программы, найти уязвимости, проверить безопасность или восстановить детали интеграции. Два самых популярных инструмента для старта — jadx и apktool. Они решают разные задачи и часто используются вместе.
• Что делает jadx
jadx декомпилирует APK и показывает Java/Kotlin-подобный код. Это удобно, когда нужно быстро понять:
- — как работает авторизация;
- — какие API вызываются;
- — где хранятся ключи, токены, URL;
- — как реализована бизнес-логика.
Плюс jadx в том, что он дает читаемый код и GUI для навигации по классам, ресурсам и строкам. Но важно понимать: это не исходники в чистом виде, а результат декомпиляции. Имена переменных могут быть потеряны, а часть логики — запутана обфускацией.
• Что делает apktool
apktool работает на другом уровне: он распаковывает APK, декодирует ресурсы и переводит Dalvik bytecode в smali. Это полезно, если нужно:
- — изучить
AndroidManifest.xml; - — посмотреть ресурсы, строки, конфиги;
- — изменить приложение;
- — пересобрать APK после правок.
Если jadx — про анализ логики, то apktool — про структуру, ресурсы и патчинг 🛠️
• Когда использовать вместе
Практический сценарий:
- Открыть APK в jadx и найти интересующие классы.
- Через apktool распаковать приложение и найти соответствующий smali-код.
- При необходимости внести изменения, пересобрать APK и подписать его.
• Что чаще всего ищут в APK
- — endpoints и base URL;
- — API-ключи и токены;
- — проверки root/emulator/debug;
- — локальное хранение данных;
- — механизмы SSL pinning;
- — скрытую функциональность и feature flags.
• Ограничения и подводные камни
- — ProGuard/R8 сильно усложняют чтение кода;
- — нативные библиотеки `.so` jadx не раскроет полностью;
- — часть логики может быть загружена динамически;
- — после модификации APK возможны проблемы с подписью и защитой от подмены ⚠️
• Базовые команды
jadx app.apk
apktool d app.apk
apktool b app/
• Итог
Для анализа Android-приложений связка jadx + apktool остается базовым стандартом.
jadx помогает быстро читать код и искать логику,
apktool — разбирать ресурсы, manifest и работать со smali.
Если задача — аудит безопасности, исследование API или понимание внутреннего устройства APK, этих двух инструментов хватит для уверенного старта 🚀
Подборку каналов про IT стоит сохранить — там часто публикуют полезные разборы инструментов, безопасности и мобильной разработки 🤖