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. It also offers optional intercept and logging capabilities, letting developers record hooked calls.

Features

  • Support for ARM32 and ARM64, including “thumb” instruction mode, enabling hooking on broad Android devices
  • Function hooking by address or by “library name + symbol name,” giving flexibility in how hooks are specified
  • Automatic hooking of newly loaded shared libraries (ELFs), ensuring dynamic libs are also intercepted
  • Prevention of recursive or circular calls between proxy and original functions to avoid infinite loops or crashes
  • Prevention of recursive or circular calls between proxy and original functions to avoid infinite loops or crashes
  • MIT-licensed and stable enough for production use (used internally by large apps), enabling embedding or integration into other tools

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow shadowhook

shadowhook Web Site

Other Useful Business Software
Gen AI apps are built with MongoDB Atlas Icon
Gen AI apps are built with MongoDB Atlas

The database for AI-powered applications.

MongoDB Atlas is the developer-friendly database used to build, scale, and run gen AI and LLM-powered apps—without needing a separate vector database. Atlas offers built-in vector search, global availability across 115+ regions, and flexible document modeling. Start building AI apps faster, all in one place.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of shadowhook!

Additional Project Details

Operating Systems

Android

Programming Language

C

Related Categories

C Artificial Intelligence Software

Registered

1 day ago