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.
QQ Group: 675443841
- 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
- src/test/java/cn/banny/emulator/QDReaderJni.java
- src/test/java/com/kuaishou/KuaiShouSign.java 快手
- src/test/java/com/meituan/android/common/candy/CandyJni.java 美团
- src/test/java/com/xingin/xhs/Shield.java 小红书
- src/test/java/com/xunmeng/pinduoduo/secure/DeviceNative.java 拼多多
- src/test/java/com/mfw/tnative/AuthorizeHelper.java 马蜂窝旅游
- src/test/java/com/didi/security/wireless/SecurityLib.java 的的打车
- 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, instruction trace, memory read/write trace.
Working iOS emulation.Working iOS objc.