这个项目能做什么
unidbg 是一个基于 Java 的开源项目,旨在模拟 Android 原生库(ELF)和 iOS 二进制文件(Mach-O)。它主要用于移动应用的安全研究、逆向工程和动态分析。
主要功能包括:
- **架构支持**:模拟 ARM32 和 ARM64 二进制代码。
- **多种后端**:支持 Unicorn、dynarmic、Apple M1 hypervisor(用于在 macOS 上快速模拟 ARM64)以及 Raspberry Pi 上的 Linux KVM。
- **AI 辅助调试(MCP)**:集成模型上下文协议(MCP),允许 AI 工具(如 Cursor)在模拟过程中动态检查寄存器、内存、反汇编、设置断点、跟踪指令并调用原生函数。
- **Hook 支持**:通过 Dobby 集成内联 hook,通过 xHook 实现 Android 导入 hook,并通过 fishhook、substrate 和 whale 实现 iOS hook。
- **JNI 模拟**:支持 JNI Invocation API、JavaVM 和 JNIEnv,允许执行 JNI_OnLoad。
- **内存泄漏检测**:跟踪客户机内存分配,并生成包含客户机 ARM 回溯和宿主 Java 堆栈跟踪的报告。
- **工作线程池**:提供线程安全的模拟器池,以减少并发任务处理期间的资源初始化开销。
- **调试与跟踪**:具备控制台调试器、GDB 存根、指令跟踪以及内存读写跟踪功能。
评论
0 评分人数达到10人后显示
登录后参与讨论。