unidbg
Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS ARM32 emulation.
This is an educational project to learn more about the ELF file format and ARM assembly.
License
- unidbg uses software libraries from Apache Software Foundation.
- unidbg developer Idea enterprise licenses are supported by Jetbrains.
- IntelliJ IDEA can be used to edit unidbg sources.
Simple tests under src/test directory
More tests
Features
- Emulation of the JNI Invocation API so JNI_OnLoad can be called.
- Support JavaVM, JNIEnv.
- Emulation of syscalls instruction.
- Support ARM32 and ARM64 bit.
- Inline hook, thanks to HookZz.
- Android import hook, thanks to xHook.
- iOS fishhook and substrate hook.
- Support simple console debugger, gdb stub, experimental IDA android debugger server, instruction trace, memory read/write trace.
TODO
Working iOS emulation.Add more iOS syscall.