Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhkl0228/unidbg
Allows you to emulate an Android native library, and an experimental iOS emulation
https://github.com/zhkl0228/unidbg
android capstone debugger dynarmic emulation emulator fishhook hypervisor ios keystone kvm unicorn unidbg whale xhook
Last synced: about 1 month ago
JSON representation
Allows you to emulate an Android native library, and an experimental iOS emulation
- Host: GitHub
- URL: https://github.com/zhkl0228/unidbg
- Owner: zhkl0228
- License: apache-2.0
- Created: 2019-02-26T09:32:15.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-26T12:36:17.000Z (about 2 months ago)
- Last Synced: 2024-04-26T13:42:41.535Z (about 2 months ago)
- Topics: android, capstone, debugger, dynarmic, emulation, emulator, fishhook, hypervisor, ios, keystone, kvm, unicorn, unidbg, whale, xhook
- Language: Java
- Homepage:
- Size: 562 MB
- Stars: 3,467
- Watchers: 100
- Forks: 897
- Open Issues: 321
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-ios-security - unidbg - Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS emulation. (Tools / Dynamic Analysis Tools)
- awesome-apple-security - unidbg - Allows you to emulate an Android ARM32 and/or ARM64 native library, and an experimental iOS emulation. (Tools / Dynamic Analysis Tools)
- awesome-stars - zhkl0228/unidbg
- awesome-stars - zhkl0228/unidbg - Allows you to emulate an Android native library, and an experimental iOS emulation (Java)
- awesome-emulators-android - unidbg
- awesome-github-star - unidbg
- awesome-emulators - unidbg
README
# unidbg
Allows you to emulate an Android native library, and an experimental iOS emulation.
This is an educational project to learn more about the ELF/MachO file format and ARM assembly.
Use it at your own risk !
## License
- unidbg uses software libraries from [Apache Software Foundation](http://apache.org).
- unidbg developer Idea enterprise licenses are supported by [Jetbrains](https://www.jetbrains.com?from=unidbg).
- [IntelliJ IDEA](https://www.jetbrains.com/idea?from=unidbg) can be used to edit unidbg sources.
- ![](assets/idea_logo.svg)Simple tests under src/test directory
- [unidbg-android/src/test/java/com/bytedance/frameworks/core/encrypt/TTEncrypt.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/com/bytedance/frameworks/core/encrypt/TTEncrypt.java)![](assets/TTEncrypt.gif)
***
- [unidbg-android/src/test/java/com/sun/jna/JniDispatch32.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/com/sun/jna/JniDispatch32.java)
![](assets/JniDispatch32.gif)
***
- [unidbg-android/src/test/java/com/sun/jna/JniDispatch64.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/com/sun/jna/JniDispatch64.java)
![](assets/JniDispatch64.gif)
***
- [unidbg-android/src/test/java/org/telegram/messenger/Utilities32.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/org/telegram/messenger/Utilities32.java)
![](assets/Utilities32.gif)
***
- [unidbg-android/src/test/java/org/telegram/messenger/Utilities64.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/org/telegram/messenger/Utilities64.java)
![](assets/Utilities64.gif)## More tests
- [unidbg-android/src/test/java/com/github/unidbg/android/QDReaderJni.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/com/github/unidbg/android/QDReaderJni.java)
- [unidbg-android/src/test/java/com/anjuke/mobile/sign/SignUtil.java](https://github.com/zhkl0228/unidbg/blob/master/unidbg-android/src/test/java/com/anjuke/mobile/sign/SignUtil.java)## Features
- Emulation of the JNI Invocation API so JNI_OnLoad can be called.
- Support JavaVM, JNIEnv.
- Emulation of syscalls instruction.
- Support ARM32 and ARM64.
- Inline hook, thanks to [Dobby](https://github.com/jmpews/Dobby).
- Android import hook, thanks to [xHook](https://github.com/iqiyi/xHook).
- iOS [fishhook](https://github.com/facebook/fishhook) and substrate and [whale](https://github.com/asLody/whale) hook.
- [unicorn](https://github.com/zhkl0228/unicorn) backend support simple console debugger, gdb stub, instruction trace, memory read/write trace.
- Support iOS objc and swift runtime.
- Support [dynarmic](https://github.com/MerryMage/dynarmic) fast backend.
- Support Apple M1 hypervisor, the fastest ARM64 backend.
- Support Linux KVM backend with Raspberry Pi B4.## Thanks
- [unicorn](https://github.com/zhkl0228/unicorn)
- [dynarmic](https://github.com/MerryMage/dynarmic)
- [HookZz](https://github.com/jmpews/Dobby)
- [xHook](https://github.com/iqiyi/xHook)
- [AndroidNativeEmu](https://github.com/AeonLucid/AndroidNativeEmu)
- [usercorn](https://github.com/lunixbochs/usercorn)
- [keystone](https://github.com/keystone-engine/keystone)
- [capstone](https://github.com/aquynh/capstone)
- [idaemu](https://github.com/36hours/idaemu)
- [jelf](https://github.com/fornwall/jelf)
- [whale](https://github.com/asLody/whale)
- [kaitai_struct](https://github.com/kaitai-io/kaitai_struct)
- [fishhook](https://github.com/facebook/fishhook)
- [runtime_class-dump](https://github.com/Tyilo/runtime_class-dump)
- [mman-win32](https://github.com/mcgarrah/mman-win32)### One-time Donation
We accept donations via WeChatPay:![WeChat Pay](assets/wx.png)
## Stargazers over time
[![Stargazers over time](https://starchart.cc/zhkl0228/unidbg.svg)](https://starchart.cc/zhkl0228/unidbg)