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.
- unidbg uses software libraries from Apache Software Foundation.
- unidbg developers Idea enterprise licenses are supported by Jetbrains.
- IntelliJ IDEA can be used to edit unidbg sources.
VM options: -Djava.library.path=prebuilt/os -Djna.library.path=prebuilt/os
Where os may: linux64, win32, win64, osx64
Simple tests under src/test directory
- Emulation of the JNI Invocation API so JNI_OnLoad can be called.
- Support JavaVM, JNIEnv.
- Emulation of syscalls instruction.
- Support ARM32 and ARM64 bit ELF.
- Inline hook, thanks to HookZz.
- Import hook, thanks to xHook.
- Support simple debugger, gdb stub, instruction trace, memory read/write trace.
Working iOS emulation. Working iOS objc.