一个函数只能被hook一次,再次hook调用原函数(备份的第一个hook函数)崩溃,所以两次hook不能再调用原函数。 基于以上种种情况,可能还是自己实现AndroidInlineHook比较好,毕竟AndroidInlineHook代码易懂,hookZz太多无关代码,没时间看架构了。 后记:后来大概看了一下,32位也是ldr pc实现,好像也做了保存寄存器
通过该流程图,读者可以快速了解到Inline Hook的实现框架流程主要是这么3个:构造stub、构造原函数、覆盖原指令。图3示意了样例要HOOK的IBored中的一条函数指令,对应图4则示意了Inline Hook实现之后的底层汇编指令结构。 1.2 实现流程 图2. InlineHook实现流程图 图3. HOOK位置的指令 图4. Inline Hook实现后的逻辑 ...
开源地址:https://github.com/bytedance/android-inline-hook 文档:https://github.com/bytedance/android-inline-hook/blob/main/README.zh-CN.md ShadowHook 手册:https://github.com/bytedance/android-inline-hook/blob/main/doc/manual.zh-CN.md 运行ShadowHook 首先把 ShadowHook 源码 clone 到本地并导入到...
hook_inline.h#ifndef HOOK_INLINE_H_INCLUDED#defineHOOK_INLINE_H_INCLUDED#include<stdbool.h>structhook_reg {longARM_r0;longARM_r1;longARM_r2;longARM_r3;longARM_r4;longARM_r5;longARM_r6;longARM_r7;longARM_r8;longARM_r9;longARM_r10;longARM_r11;longARM_r12;longARM_sp;longARM_lr;longARM...
Android Inline Hook的安全机制主要涉及到对目标应用程序的代码注入和修改,以实现特定的功能。然而,这种技术存在很高的安全风险,因为它可能被恶意软件或攻击者利用来执行未授权的操作。具...
ShadowHook 是一个 Android inline hook 库,它支持 thumb、arm32 和 arm64。 ShadowHook 现在被用于 TikTok,抖音,今日头条,西瓜视频,飞书中。 如果你需要的是 Android PLT hook 库,请移步到 ByteHook。 特征 支持Android 4.1 - 15 (API level 16 - 35)。 支持armeabi-v7a 和 arm64-v8a。 支持针对函数...
Android Inline Hook可能会对性能产生一定影响,但具体程度取决于多个因素,如Hook的实现方式、应用程序的运行环境等。Inline Hook是一种在运行时修改程序指令的技术,它允许...
修复后地址:https://github.com/jiqiu2022/InlineHook-fix 欢迎大家直接学习 感谢https://github.com/bytedance/android-inline-hook 提供了指令修复的思路 什么是InlineHook,简单来说就是给函数(指令)的几条汇编指令备份,然后跳到我们自己的函数逻辑上。
ele7enxxh/Android-Inline-Hook README Android-Inline-Hook thumb16 thumb32 arm32 inlineHook Build ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk NDK_APPLICATION_MK=./Application.mk Example ``` c #include <stdio.h> #include "inlineHook.h" int (*old_puts)(const char *) =...
.github app doc gradle shadowhook systest .clang-format .gitignore CODE_OF_CONDUCT.md CONTRIBUTING.md LICENSE README.md README.zh-CN.md SECURITY.md build.gradle checkstyle.xml clang-format.py gradle.properties gradlew gradlew.bat settings.gradleBreadcrumbs android-inline-hook / build.gradle Latest...