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

WindSeason666/unidbg

 
 

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.
  • Working 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 98.7%
  • Objective-C 1.1%
  • Other 0.2%