Skip to content

An Android-ARM64 kernel emulator written in Rust. (Rewrite from unidbg)

License

Notifications You must be signed in to change notification settings

peterliangaaa/rnidbg

 
 

Repository files navigation

RNIDBG

An ARM64 emulator written in Rust, based on the secondary development of unidbg.。Join us now!

Build Me

  • Make sure your Rust version is 1.79+, otherwise upgrade!
  • If Linux, make sure that libfmt/boost is available in your environment (dynarmic backend).

DEVELOPER DEBUGGING COMPILE TIME VARIABLES

变量名 说明 默认值
PRINT_SYSCALL_LOG print syscall log 0
SHOW_INIT_FUNC_CALL print init_function calls 0
SHOW_MODULES_INSERT_LOG print module loading log 0
PRINT_SVC_REGISTER print service registration log 0
PRINT_JNI_CALLS print jni call log 0
DYNARMIC_DEBUG print dynarmic logs 0
EMU_LOG print emulator logs 0
PRINT_MMAP_LOG print virtual mmap logs 0

RUN TIME VARIABLE IN COMPUTING

VARIABLE NAME CLARIFICATION DEFAULT VALUE
DYNARMIC_JIT_SIZE Code Cache Size (MB) 64

TODO

  • Add support for debugging
  • Add support for more syscall
  • Beautiful JNI implementation (unsafe block)
  • Implement most system libraries as virtual modules

Thanks

About

An Android-ARM64 kernel emulator written in Rust. (Rewrite from unidbg)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 87.0%
  • C++ 4.7%
  • CMake 3.8%
  • Shell 2.2%
  • Python 1.9%
  • Makefile 0.3%
  • Other 0.1%