Skip to content

Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS ARM32 emulation

License

Notifications You must be signed in to change notification settings

huaerxiela/unidbg

This branch is 1 commit ahead of freemanZYQ/unidbg:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2a342a6 · Dec 19, 2019
Mar 5, 2019
May 13, 2019
Mar 18, 2019
May 17, 2019
May 10, 2019
Mar 15, 2019
Dec 19, 2019
Apr 21, 2019
Mar 5, 2019
Mar 5, 2019
May 14, 2019
Feb 26, 2019
Mar 6, 2019
Mar 6, 2019
Mar 13, 2019
Mar 12, 2019

Repository files navigation

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.
  • Support iOS objc.

Thanks

About

Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS ARM32 emulation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Other 0.2%