Sobre o projeto
unidbg é um projeto Java de código aberto projetado para emular bibliotecas nativas Android (ELF) e binários iOS (Mach-O). É usado principalmente para pesquisa de segurança, engenharia reversa e análise dinâmica de aplicativos móveis.
Principais capacidades incluem:
- **Suporte a Arquiteturas**: Emula código binário ARM32 e ARM64.
- **Múltiplos Backends**: Suporta Unicorn, dynarmic, hypervisor Apple M1 (para emulação rápida de ARM64 no macOS) e Linux KVM em Raspberry Pi.
- **Depuração Assistida por IA (MCP)**: Integra o Model Context Protocol (MCP) para permitir que ferramentas de IA (como Cursor) inspecionem dinamicamente registradores, memória, desmontagem, definam breakpoints, rastreiem instruções e chamem funções nativas durante a emulação.
- **Suporte a Hooking**: Integra hooking inline via Dobby, hooking de importação Android via xHook, e hooking iOS via fishhook, substrate e whale.
- **Emulação JNI**: Suporta a API de Invocação JNI, JavaVM e JNIEnv, permitindo a execução de JNI_OnLoad.
- **Detecção de Vazamentos de Memória**: Rastreia alocações de memória do convidado e gera relatórios com backtraces ARM do convidado e stack traces Java do host.
- **Pool de Trabalhadores**: Oferece um pool de emuladores thread-safe para reduzir a sobrecarga de inicialização de recursos durante o processamento de tarefas concorrentes.
- **Depuração e Rastreamento**: Inclui um depurador de console, stub GDB, rastreamento de instruções e rastreamento de leitura/escrita de memória.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.