Awesome Android Reverse Engineering
Курируемый список материалов, ресурсов и инструментов по реверс-инжинирингу Android.
Как пользоваться
Awesome-Android-Reverse-Engineering — это замечательный список для людей, которые занимаются разбором Android-приложений, систем или компонентов. Просто нажмите ctrl + F для поиска по ключевому слову, просмотрите наше оглавление или обратите внимание на '☆', который отмечает отличные и актуальные ресурсы.
Содержание
Обучение
Курсы и материалы
Видео
Книги
Инструменты
Инструменты статического анализа
- QARK — инструмент с открытым исходным кодом для автоматического сканирования уязвимостей Android-приложений.
- Quark Engine — объединяет различные инструменты в виде Quark Script API для исследований в области мобильной безопасности.
- MobSF — поддерживает как статический, так и динамический анализ для тестирования безопасности Android-приложений.
- AndroBugs Framework — анализирует и сканирует Android-приложения на предмет проблем безопасности.
- ☆ imjtool — инструмент для распаковки прошивок различных производителей и форматов.
- Android Studio — полезен для анализа декомпилированных приложений через IDE.
- ☆ APK Dependency Graph — визуализирует зависимости классов APK.
- disarm — утилита командной строки для разбора инструкций ARM-64.
- COVA — вычисляет ограничения путей выполнения на основе заданных пользователем API.
- DIS{integrity} — анализирует APK на предмет root-доступа, целостности и обнаружения модификаций.
- Dexcalibur — автоматизированный инструмент для анализа и инструментирования Android-приложений.
Де-обфускация
- ☆ Obfu[DE]scate — инструмент де-обфускации, использующий нечёткую логику сравнения.
- TinySmaliEmulator — минималистичный эмулятор smali для «дешифрования» обфусцированных строк.
- simplify — виртуальная машина Android и деобфускатор.
- deoptfuscator — инструмент для деобфускации приложений, использующих обфускацию потока управления.
Инструменты динамического анализа
- Drozer — фреймворк для тестирования безопасности Android с функциями динамического анализа.
- jtrace — аналог strace, но для системных вызовов Android.
- sesearch — инструмент командной строки для запросов к политикам SELinux.
- AutoDroid — инструмент для массового сбора и анализа APK.
- Сеть:
- ☆ Burp Suite — коммерческий инструмент для анализа сетевого трафика Android-приложений.
- Wireshark — анализатор сетевых протоколов с открытым исходным кодом.
- SSLsplit — перехватывает и изменяет трафик, зашифрованный по SSL/TLS.
- MITMProxy — прокси «человек посередине» для анализа сетевого трафика.
- apk-mitm — подготавливает APK для проверки HTTPS-трафика.
- Динамическая инструментация:
- ☆ Frida — набор средств динамической инструментации для модификации в рантайме.
- Xposed Framework — для перехвата (хукинга) и изменения поведения приложения в рантайме.
- ☆ Objection — инструмент исследования в рантайме для обхода механизмов безопасности приложений.
- RMS Runtime Mobile Security — веб-интерфейс для Frida.
- ☆ FriDump — использует Frida для дампа памяти запущенных приложений.
- jnitrace — трассировщик JNI API на основе Frida.
- ☆ Binder Trace — перехватывает и разбирает сообщения Android Binder.
Декомпиляторы
- ☆ JADX — декомпилирует APK в исходный код Java.
- Procyon — набор инструментов для декомпиляции Java.
- Cfr — поддерживает декомпиляцию Android-файлов APK.
- FernFlower — аналитический декомпилятор для Java.
- ☆ Apktool — популярный инструмент для декомпиляции/перекомпиляции APK-файлов.
- DEX2JAR — преобразует файлы DEX в файлы JAR.
- JDGui — графическая утилита для просмотра исходного кода Java из class-файлов.
- IDA Pro — коммерческий дизассемблер и отладчик.
- ☆ Ghidra — бесплатный фреймворк SRE с открытым исходным кодом.
- Дополнительные декомпиляторы:
- JEB Decompiler — коммерческий декомпилятор для Android-приложений.
- Radare2 — фреймворк для реверс-инжиниринга с дизассемблированием и отладкой.
- Androguard — используется для анализа и реверс-инжиниринга Android-приложений.
- apk2gold — декомпилирует Android-приложения в Java (примечание: может быть устаревшим).
- AndroidProjectCreator — преобразует APK в проекты Android Studio.
- APK Studio — IDE на базе Qt для реверс-инжиниринга APK.
- show-java — декомпилятор APK, JAR и Dex.
- ☆ APKLab — расширение VS Code, объединяющее несколько инструментов.
Анализ вредоносного ПО
- DroidDetective — анализ вредоносного ПО для Android-приложений с помощью машинного обучения.
- Cuckoo Droid — автоматизированный анализ Android-вредоносов с помощью Cuckoo Sandbox.
- androwarn — статический анализатор кода вредоносных Android-приложений.
Ресурсы
Документация
Практические примеры
CTF и CrackMe
Разное
Обфускация и защита от реверс-инжиниринга
- Инструменты обфускации:
- ProGuard — средство сжатия, оптимизации и обфускации кода.
- R8 — средство сжатия и обфускации кода от Google.
- DexGuard — коммерческий инструмент для продвинутой обфускации приложений.
- Техники защиты от реверс-инжиниринга:
Анализ прошивок и ядра
- Binwalk — анализирует, извлекает и реверс-инженерит образы прошивок.
- AFLSmart — фаззер, оптимизированный для анализа образов прошивок.
- Android Kernel Exploits — коллекция уязвимостей ядра и техник эксплуатации.
- FirmWire — платформа динамического анализа прошивок базового модема.
Участие в разработке
Ваш вклад всегда приветствуется! Пожалуйста, сначала ознакомьтесь с рекомендациями по внесению вклада. Мы следуем Кодексу поведения Contributor Covenant, поэтому, пожалуйста, ознакомьтесь с ним и соблюдайте его при внесении вклада.
Лицензия

Этот проект лицензирован под лицензией MIT — подробности см. в файле LICENSE.md.