首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

【Android 逆向】函数拦截实例 ( ② 插桩操作 | 保存实际函数入口 6 字节数据 | 在插桩的函数入口写入跳转指令 | 构造拼接桩函数 )

函数的入口方法 , 跳转到自定义的 dn_clock_gettime 方法中 */ hook_func((uint8_t*)clock_gettime, (uint8_t*)dn_clock_gettime...clock_gettime 函数 , 这里将 do_clock_gettime 函数构造成 clock_gettime 函数 ; 构造拼接桩函数 : 前 6 字节是保存下来的 clock_gettime...函数构造成 clock_gettime 函数流程 : 执行 do_clock_gettime 方法的第 6 字节的指令时 , 跳转到 clock_gettime 函数的第 6 字节指令位置 , do_clock_gettime..., 跳转到 clock_gettime 函数的第 6 字节指令位置 do_clock_gettime 的 0 ~ 6 字节指令是 clock_gettime 实际函数的前 6 字节 ,...之所以这么定义 , 是因为 clock_gettime 的前 6 个字节被覆盖为 跳转指令了 调用 do_clock_gettime 方法 , 就相当于调用了 clock_gettime 方法

98110

【Android 逆向】函数拦截实例 ( ③ 刷新 CPU 高速缓存 | ④ 处理拦截函数 | ⑤ 返回特定结果 )

函数 , 实现了调用 do_clock_gettime 函数 与调用 clock_gettime 函数相同的效果 ; 构造拼接桩函数 : 前 6 字节是保存下来的 clock_gettime 函数的前...6 字节指令 , 执行到第 6 字节时 , 直接跳转到 clock_gettime 函数 执行 , 这样执行拼接的函数 等同于执行 clock_gettime 函数 ; 将 do_clock_gettime...函数构造成 clock_gettime 函数流程 : 执行 do_clock_gettime 方法的第 6 字节的指令时 , 跳转到 clock_gettime 函数的第 6 字节指令位置 , do_clock_gettime...处理拦截函数 : 当函数执行到 clock_gettime 之后 , 就会执行插入的跳转指令 , 跳转到 dn_clock_gettime 函数中 ; 在该函数中 , 可以调用 do_clock_gettime...函数的入口方法 , 跳转到自定义的 dn_clock_gettime 方法中 */ hook_func((uint8_t*)clock_gettime, (uint8_t*)dn_clock_gettime

1.5K10
领券