thumb16 thumb32 arm32 inlineHook
ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk
#include <stdio.h> #include "inlineHook.h" int (*old_puts)(const char *) = NULL; int new_puts(const char *string) { old_puts("inlineHook success"); } int hook() { if (registerInlineHook((uint32_t) puts, (uint32_t) new_puts, (uint32_t **) &old_puts) != ELE7EN_OK) { return -1; } if (inlineHook((uint32_t) puts) != ELE7EN_OK) { return -1; } return 0; } int unHook() { if (inlineUnHook((uint32_t) puts) != ELE7EN_OK) { return -1; } return 0; } int main() { puts("test"); hook(); puts("test"); unHook(); puts("test"); }
If you find any bugs, please contact me(ele7enxxh@qq.com)