Skip to content
Allows you to emulate an Android ARM32 and/or ARM64 native library
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.mvn/wrapper
assets
prebuilt
src
.gitignore 删除不完善的测试 Mar 9, 2019
LICENSE Create LICENSE Mar 15, 2019
README.md
mvnw 增加mvnw Mar 5, 2019
mvnw.cmd 增加mvnw Mar 5, 2019
pom.xml Bug fix for win32 Mar 13, 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

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

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





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

You can’t perform that action at this time.