SandHook is an Android hooking framework built for intercepting Java methods inside the ART runtime. It supports object methods, static methods, constructors, system methods, and selected JNI methods. The framework can operate inside a process without requiring root access. Its native layer adds inline hooks, symbol-based hooks, breakpoints, and single-instruction hooks for low-level instrumentation. SandHook also provides compatibility with Xposed-style APIs, making existing hook modules easier to adapt. Supported architectures include ARM32, Thumb, and AArch64, with historical Android support spanning several major releases. The project has been used as a foundation for non-root Xposed environments and runtime modification research.
Features
- ART Java method hooking
- Native inline hook support
- Xposed API compatibility
- Object, static, constructor, and JNI method hooks
- Breakpoints and single-instruction hooks
- ARM32, Thumb, and AArch64 support