An open API service indexing awesome lists of open source software.

https://github.com/fuqiuluo/rnidbg

An Android-ARM64 kernel emulator written in Rust. (Rewrite from unidbg)
https://github.com/fuqiuluo/rnidbg

android dynarmic emulator keystone linux qsign unicorn unidbg

Last synced: 5 months ago
JSON representation

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

Awesome Lists containing this project

README

          

# RNIDBG

An ARM64 emulator written in Rust, based on the secondary development of unidbg.。[Join us now!](https://discord.gg/MKR2wz863h)

## 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

- [Rust](https://www.rust-lang.org/)
- [unidbg](https://github.com/zhkl0228/unidbg)
- [dynarmic](https://github.com/lioncash/dynarmic)
- [Dobby](https://github.com/jmpews/Dobby)