Об этом проекте
unidbg — это проект на Java с открытым исходным кодом, предназначенный для эмуляции нативных библиотек Android (ELF) и бинарных файлов iOS (Mach-O). Он в основном используется для исследований в области безопасности, реверс-инжиниринга и динамического анализа мобильных приложений.
Ключевые возможности включают:
- **Поддержка архитектур**: эмулирует бинарный код ARM32 и ARM64.
- **Несколько бэкендов**: поддерживает Unicorn, dynarmic, гипервизор Apple M1 (для быстрой эмуляции ARM64 на macOS) и Linux KVM на Raspberry Pi.
- **Отладка с помощью ИИ (MCP)**: интегрирует Model Context Protocol (MCP), позволяя ИИ-инструментам (например, Cursor) динамически проверять регистры, память, дизассемблированный код, устанавливать точки останова, трассировать инструкции и вызывать нативные функции во время эмуляции.
- **Поддержка хуков**: интегрирует инлайн-хуки через Dobby, хуки импорта Android через xHook и хуки iOS через fishhook, substrate и whale.
- **Эмуляция JNI**: поддерживает JNI Invocation API, JavaVM и JNIEnv, что позволяет выполнять JNI_OnLoad.
- **Обнаружение утечек памяти**: отслеживает выделения гостевой памяти и генерирует отчёты с трассировкой стека ARM гостя и трассировкой стека Java хоста.
- **Пул рабочих потоков**: предлагает потокобезопасный пул эмуляторов для снижения накладных расходов на инициализацию ресурсов при параллельной обработке задач.
- **Отладка и трассировка**: включает консольный отладчик, GDB-заглушку, трассировку инструкций и трассировку чтения/записи памяти.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.