shadowhook
Android inline hook library which supports thumb, arm32 and arm64
...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. It also offers optional intercept and logging capabilities, letting developers record hooked calls.