shadowhook
Android inline hook library which supports thumb, arm32 and arm64
shadowhook is an open-source native code hooking library for Android — designed to let developers intercept and override native (C/C++) functions inside Android apps at runtime. It supports both ARM32 and ARM64 architectures (and the respective “thumb” instruction set) and works across a wide range of Android OS versions. The library allows you to specify hook targets either by function address or by library name + function name, and it automatically handles newly loaded shared libraries (ELFs), ensuring hooks remain effective even when code is dynamically loaded at runtime. ShadowHook strives to be stable and safe for production use: it automatically avoids circular-call recursion between original and proxy functions, and supports unwind/unwind-safe proxy functions (CFI/FP unwind) so that backtraces, debugging, and stack unwinding remain correct. ...