unidbg
unidbg copied to clipboard
Allows you to emulate an Android native library, and an experimental iOS emulation
unidbg
Allows you to emulate an Android native library, and an experimental iOS emulation.
This is an educational project to learn more about the ELF/MachO file format and ARM assembly.
Use it at your own risk !
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
- unidbg-android/src/test/java/com/github/unidbg/android/QDReaderJni.java
- unidbg-android/src/test/java/com/anjuke/mobile/sign/SignUtil.java
Features
- Emulation of the JNI Invocation API so JNI_OnLoad can be called.
- Support JavaVM, JNIEnv.
- Emulation of syscalls instruction.
- Support ARM32 and ARM64.
- Inline hook, thanks to Dobby.
- Android import hook, thanks to xHook.
- iOS fishhook and substrate and whale hook.
- unicorn backend support simple console debugger, gdb stub, instruction trace, memory read/write trace.
- Support iOS objc and swift runtime.
- Support dynarmic fast backend.
- Support Apple M1 hypervisor, the fastest ARM64 backend.
- Support Linux KVM backend with Raspberry Pi B4.
Thanks
- unicorn
- dynarmic
- HookZz
- xHook
- AndroidNativeEmu
- usercorn
- keystone
- capstone
- idaemu
- jelf
- whale
- kaitai_struct
- fishhook
- runtime_class-dump
- mman-win32
One-time Donation
We accept donations via WeChatPay:




