/emulator

Allows you to emulate an Android ARM32 and/or ARM64 native library

Primary LanguageJava

emulator

Allows you to emulate an Android ARM32 and/or ARM64 native library.

This is an educational project to learn more about the ELF file format and ARM assembly.

Usage

Simple tests under src/test directory





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.

Thanks