Потрясающий Android Reverse Engineering

Куративный список удивительных тренировок, ресурсов и инструментов Android обратного инженера.
Как использовать
Awesome-Android-Reverse-engineering-это удивительный список для людей, которые работают над тем, чтобы разобрать приложения, системы или компоненты Android. Просто нажмите ctrl + F , чтобы найти ключевое слово, пройти через наше меню содержимого или ищите «☆», указывающий на некоторые замечательные и актуальные ресурсы.
Содержимое
- Обучение
- Курсы и материалы
- Видео
- Книги
- Инструменты
- Статические инструменты анализа
- Инструменты динамического анализа
- Декомпиляторы
- Анализ вредоносных программ
- Ресурсы
- Документация
- Тематические исследования
- CTFS и Crackme's
- Разное
Обучение
Курсы и материалы
- ☆ Maddie Stone's Android Engineering Training - всеобъемлющий онлайн -курс обучения на Android Reverse Engineering от Maddie Stone.
- Введение в сборку из Azeria Labs - охватывая все, от типов данных, регистров, набора инструкций ARM, инструкций памяти и многого другого
- Тестирование на проникновение Android от #Todo - в этом курсе вы разработаете базовые знания о том, что участвует в тестировании мобильного проникновения, а также конкретные инструменты, методы и структуры, связанные с разведкой и анализом приложений Android.
Видео
- Kristina Balaam Android Reverse Engineering - видео -сериал о обратном инженерии и обратной инженерии Android вредоносные программы.
- Laurirewired Android Reverse Engineering Video - канал YouTube, фокусирующийся на Android Reverse Engineering.
- Использование FRIDA для изменения Android Games | Мобильная динамическая инструментация - сосредоточение внимания на приложениях Android с обратной машиной и на использовании FRIDA для динамического изменения Android Games.
Книги
- ☆ Internals Android: кондитерская кулинарная книга-углубленное исследование внутренних рабочих мест Android: в томе I мы принимаем перспективу пользователя Power, когда мы углубимся в основы Android, файловых систем, разделов, процесса загрузки, собственных демонов и услуг.
- Blue Fox: Внутренние внутренности и обратной инженерии Arm - предоставляет читателям прочную основу в внутренних пунктах Ассамблеи и основаниях с обратной инженерией в качестве основы для анализа и обеспечения миллиардов устройств ARM.
- Android Software Internals Quick Relight - эта книга фокусируется на легко усваиваемых, полезных и интересных методах в Java и системе Android. В том числе: шифрование и запутывание, отладка и извлечение APK.
- ☆ Мобильное руководство по борьбе с наступлением безопасности - сосредоточение внимания на операционных системах Android и iOS, книга содержит серию лаконичных глав, которые выделяют ключевую информацию, подходы и инструменты, используемые тестировщиками мобильного проникновения и практикующими наступлениями.
- Внутренние внутренности Android - описание архитектуры безопасности Android снизу вверх, углубление в реализацию основных компонентов и подсистем, связанных с безопасностью, таких как Binder IPC, разрешения, криптографические поставщики и администрирование устройств.
- Обнаружение вредоносных программ Android с помощью машинного обучения - изучите методы машинного обучения, используемые для обнаружения вредоносных приложений, типы классификационных моделей, которые могут использовать защитники, и различные функции образцов вредоносных программ, которые могут стать введенными в эти модели.
Инструменты
Статические инструменты анализа
- QARK - инструмент с открытым исходным кодом, разработанный LinkedIn для автоматического сканирования уязвимости Android App, включая выявление потенциальных проблем безопасности, таких как инъекция SQL, небезопасное хранение данных и многое другое.
- Quark Engine - Цель сценария Quark направлена на то, чтобы предоставить исследователям мобильной безопасности инновационный способ проанализировать или проанализировать целевые показатели. Основываясь на Quark, мы интегрируем приличные инструменты в виде API -интерфейсов сценариев Quark и заставляем их обмениваться ценным интеллектом друг на друга.
- MOBSF - Структура безопасности мобильных приложений с открытым исходным кодом, которая поддерживает статический и динамический анализ приложений Android для уязвимостей и проблем с конфиденциальностью.
- Framework Androbugs - рамка с открытым исходным кодом для анализа и сканирования приложений Android по вопросам безопасности, включая возможности статического и динамического анализа.
- ☆ Imjtool - инструмент распаковки прошивки применимо к самым широким разнообразию поставщиков и форматов.
- Android Studio - Полезно, если у вас нет лицензии JEB и вы хотите открыть декомпилируемое (через JADX) приложение в соответствующую IDE.
- ☆ График зависимости APK - визуализатор зависимости класса APK. Полезно для картирования поверхности атаки.
- Разоружение-простой утилита командной строки, которая принимает в качестве аргумента 32-разрядное шестнадцатеричное число и анализирует его как инструкцию ARM-64, обеспечивая разборку.
- COVA - COVA - это статический инструмент анализа для вычисления ограничений пути на основе пользовательских API.
- DIS {целостность} - инструмент для анализа Android APK и извлечения корней, целостности и проверки обнаружения фальсификации.
De-obfuscation
- ☆ Obfu [de] scate - obfu [de] Scate - это инструмент De -obfuscation для Android Apks, в котором используется нечеткая логика сравнения для выявления сходства между функциями, даже если они были переименованы в рамках впадающего в действие. Он сравнивает две версии APK и генерирует текстовый файл отображения и интерактивный HTML -файл в качестве выходов!
- TinySmalieMulator - минималистский эмулятор Smali, который можно использовать для «расшифровки» запутанных строк.
- Упростить - Android Virtual Machine и Deobfuscator.
- Deoptfuscator - Deoptfuscator - это инструмент для Deobfuscating Android -приложений, которые были преобразованы с использованием механизмов запутывания контрольного потока.
Инструменты динамического анализа
- DROZER - Рамочная структура с открытым исходным кодом для тестирования безопасности Android, которая предоставляет комплексный набор инструментов для динамического анализа, включая перехват, изменение и анализ трафика приложений.
- Jtrace - Strace для Android - для отслеживания вызовов на уровне системы, включая Binder.
- Sesearch - инструмент командной строки для запроса политик Selinux.
- AutoDroid - инструмент для массовой сбора APK с устройства (ов), декомпилирования, фильтрации на строках и т. Д.
Сеть
- ☆ Burp Suite - популярный коммерческий инструмент тестирования веб -безопасности, который можно использовать для анализа сетевого трафика приложений Android для потенциальных уязвимостей безопасности.
- Wireshark - широко используемый анализатор сетевого протокола с открытым исходным кодом, который может захватывать, анализировать и анализировать сетевой трафик, генерируемый приложениями Android для анализа безопасности.
- SSLSPlit - инструмент с открытым исходным кодом для перехвата и манипулирования зашифрованным трафиком SSL/TLS, который можно использовать для анализа связи SSL/TLS в приложениях Android.
- MITMPROXY-прокси-сервер с открытым исходным кодом, который позволяет перехватывать и анализировать сетевой трафик, генерируемый приложениями Android для тестирования и анализа безопасности.
- APK -MITM - приложение CLI, которое автоматически готовит Android APK -файлы для HTTPS Inspection.
Динамическая инструментация
- ☆ FRIDA - Динамический инструментальный инструментарий для приложений Android, который позволяет манипулировать во время выполнения и анализ поведения приложений.
- Xposed Framework - мощная структура для подключения и изменения поведения приложений Android во время выполнения, обычно используемой для обратной инженерии и анализа.
- ☆ Возражение - инструмент мобильного разведки для Android для Android, который предоставляет различные функции для анализа, манипулирования и обхода элементов управления безопасности приложений.
- RMS Runtime Mobile Security - Frida Web Interface.
- ☆ Fridump - сценарий Python, который использует Frida для сброса памяти управляющего гаджета, такого как активность приложения.
- Jnitrace - инструмент на основе FRIDA для отслеживания использования JNI API в приложениях Android.
- ☆ Следа связующего - связующий трассировка - это инструмент для перехвата и анализа сообщений Android -связующего. Думайте об этом как «Wireshark для Binder».
Декомпиляторы
- ☆ JADX - Инструмент с открытым исходным кодом для декомпилирования и анализа файлов Android APK в исходный код Java для обратной инженерии и анализа.
- PROCYON - Procyon - это набор инструментов метапрограммирования Java, в том числе богатый API отражения, API дерева экспрессии в стиле LINQ для генерации кода выполнения и декомпилятор Java.
- CFR - декомпилятор с открытым исходным кодом Java, который поддерживает декомпиляцию файлов Apk Apk Android в исходный код Java, включая поддержку новых языковых функций Java.
- Fernflower - Fernflower является первым фактически работающим аналитическим декомпилятором Java и, вероятно, для языка программирования высокого уровня в целом.
- ☆ APKTOOL - популярный инструмент с открытым исходным кодом для декомпилирования и перекомпиляции файлов Android APK.
- DEX2JAR - инструмент для преобразования файлов Android DEX в файлы JAR, который может быть дополнительно проанализирован с использованием декомпиляторов Java.
- JDGUI - JD -GUI - это отдельная графическая утилита, которая отображает исходные коды Java «.class».
- IDA Pro - мощный коммерческий разборщик и отладчик для анализа нативного кода Android.
- ☆ Ghidra - Бесплатная и открытая программная структура (SRE), разработанная Агентством национальной безопасности (АНБ), которая поддерживает анализ Android.
- Jeb Decropiler - коммерческий декомпиланчик для приложений Android, который может декомпилировать файлы APK в исходный код Java для анализа.
- RADARE2 - бесплатная и открытая структура обратного инженера, которая поддерживает анализ Android, включая разборку, отладку и бинарный анализ.
- Androguard - инструмент с открытым исходным кодом для анализа и обратной инженерии Android -приложений, включая декомпилирование файлов APK, анализ байт -кода Dalvik и многое другое.
- APK2GOLD - CLI Tool для декомпилирования приложений Android в Java. Делать как ресурсы, так и Java (этому репо 9 лет, и поэтому не может работать с более новыми версиями Android).
- AndroidProjectCreator - преобразовать APK в Android Studio Project с использованием нескольких декомпиляторов с открытым исходным кодом.
- APK Studio-IDE на базе QT с открытым исходным кодом, для пакетов приложений для Android с обратной инженерией.
- Show -java - APK (Android Application), Dar & Dex Decropiler для Android.
- Apklab-Apklab плавно интегрирует Quark-ingine, Apktool, JADX, Uber-APK-Signer, APK-MITM и многое другое в код VS.
Анализ вредоносных программ
- DroidDetecteme - Информация по анализу вредоносных программ для машинного обучения для приложений Android.
- Droid Cuckoo - Cuckoodroid - автоматический анализ вредоносных программ для андроида с песочницей кукушки.
- Androwarn - статический анализатор кода для вредоносных приложений Android.
Ресурсы
Документация
- Документация Android Security - Официальная документация Google On Android Security, включая темы, связанные с обратной техникой.
- Android Reverse Engineering Challenge - куратор Android Android обратной инженерной задачи и CTF (захват флаг) для практики.
- AndroidxRef - Откройте код поиск для Android Source.
- APKMIRROR - Репозиторий Android APK из таких источников, как Play Store и загрузка пользователя.
- APKPURE - Репозиторий Android APK из таких источников, как Play Store и User загружает.
Тематические исследования
- Последствие приложения видеочата HouseParty Ingertemer
- Sharkbot: «Новое» поколение Android Banking Trojan распределяется в Google Play Store
- Серия в WILD: Android-эксплойты
CTF и Crackmes
- ☆ Необратимые мобильные приложения - набор приложений OWASP Android CrackMe's. Эти проблемы используются в качестве примеров по всему OWASP MASTG. Конечно, вы также можете решить их для развлечения.
- CyberTruckChallenge19 - Материал Android Security Material, преподаваемый во время CyberTruck Challenge 2019 (Детройт США).
- KGB Messenger - KGB Messenger - это задача CTF с открытым исходным кодом CTF, целью которого является помочь людям научиться обратить вспять инженерные приложения для Android.
Разное
- LADB - местная оболочка ADB для Android!
- Сломанная фабрика Droid - BDF - это инструмент Python, предназначенный для развертки псевдо случайных уязвимых приложений для Android для обучения, когда речь идет о исследованиях уязвимости, этическом взломе и тестировании ручки на приложениях Android.
- Uber-APK-Signer-инструмент CLI, который помогает подписанию и выравниванию ZIP, или несколько пакетов приложений Android (APK) с отладкой или предоставленными сертификатами выпуска. Он поддерживает схему подписания V1, V2 и V3 Android имеет встроенный магазин ключей отладки, а Auto проверяет после подписания.
- Демонстрация обнаружения рунического факультета - предназначенная для того, чтобы служить параллелью для понимания более сложных систем обнаружения и целостности для обнаружения и целостности Android, таких как Google Play Safetynet и Huawei Safety Detect.
Внося
Ваши вклад всегда приветствуются! Пожалуйста, сначала прочитайте рекомендации по взносу. Мы следуем кодексу поведения в участнике. Пожалуйста, не забудьте просмотреть и придерживаться этого кодекса поведения при вклад.
Лицензия
Этот проект лицензирован по лицензии MIT - для получения подробной информации см. В файле License.md.