À propos du projet
unidbg est un projet open-source basé sur Java, conçu pour émuler les bibliothèques natives Android (ELF) et les binaires iOS (Mach-O). Il est principalement utilisé pour la recherche en sécurité, le reverse engineering et l'analyse dynamique d'applications mobiles.
Les capacités clés incluent :
- **Support d'architectures** : Émule le code binaire ARM32 et ARM64.
- **Plusieurs backends** : Prend en charge Unicorn, dynarmic, l'hyperviseur Apple M1 (pour une émulation ARM64 rapide sur macOS) et Linux KVM sur Raspberry Pi.
- **Débogage assisté par IA (MCP)** : Intègre le Model Context Protocol (MCP) pour permettre aux outils IA (comme Cursor) d'inspecter dynamiquement les registres, la mémoire, le désassemblage, de définir des points d'arrêt, de tracer les instructions et d'appeler des fonctions natives pendant l'émulation.
- **Support de hooking** : Intègre le hooking inline via Dobby, le hooking d'imports Android via xHook, et le hooking iOS via fishhook, substrate et whale.
- **Émulation JNI** : Prend en charge l'API d'invocation JNI, JavaVM et JNIEnv, permettant l'exécution de JNI_OnLoad.
- **Détection de fuites mémoire** : Suit les allocations mémoire invitées et génère des rapports avec des backtraces ARM invitées et des traces de pile Java hôtes.
- **Pool de workers** : Offre un pool d'émulateurs thread-safe pour réduire la surcharge d'initialisation des ressources lors du traitement de tâches concurrentes.
- **Débogage et traçage** : Dispose d'un débogueur console, d'un stub GDB, de traçage d'instructions et de traçage de lectures/écritures mémoire.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.