Skip to content
Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS ARM32 emulation
Branch: master
Clone or download
Banny
Latest commit 5e29f0d May 24, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn/wrapper 增加mvnw Mar 5, 2019
assets Add idea logo May 13, 2019
prebuilt Update prebuilt keystone java bindings jar. Mar 18, 2019
src Add objc class dump May 24, 2019
.gitignore 继续完善 May 10, 2019
LICENSE Create LICENSE Mar 15, 2019
README.md Substrate support hookFunction May 24, 2019
kaitai_struct_compile_java.sh Refactor Apr 21, 2019
mvnw 增加mvnw Mar 5, 2019
mvnw.cmd 增加mvnw Mar 5, 2019
pom.xml Refactor default JNI implementation May 17, 2019
pull.sh Initial commit Feb 26, 2019
test_linux64.sh 优化依赖 Mar 6, 2019
test_osx64.sh 优化依赖 Mar 6, 2019
test_win32.cmd Add prebuilt win32 Mar 13, 2019
test_win64.cmd Add prebuilt win64 Mar 12, 2019

README.md

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.

QQ Group: 675443841

License

Usage

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





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 ELF.
  • Inline hook, thanks to HookZz.
  • Import hook, thanks to xHook.
  • Support simple debugger, instruction trace, memory read/write trace.

TODO

  • Working iOS emulation.
  • Working iOS objc.

Thanks

You can’t perform that action at this time.