文章目录
一、通过修改 GOT 全局偏移表拦截函数
二、通过在实际被调用的函数中添加跳转代码实现函数拦截
一、通过修改 GOT 全局偏移表拦截函数
----
使用 GOT 全局偏移表 拦截函数 , 只需要将...通过 远程调用 执行该函数 ), 使用 dlopen 函数直接加载 libbridge.so 动态库 , 然后调用 dlsym 函数 , 获取 libbridge.so 动态库中的 load 函数地址..., 根据该函数地址 , 可以直接调用函数 , 这样就完美的避开了 GOT 全局偏移表 , 而执行函数 ;
因此 , 使用 GOT 表拦截函数并不能保证 100% 成功 ;
二、通过在实际被调用的函数中添加跳转代码实现函数拦截...----
在 实际的被调用的函数 中 , 添加 跳转代码 , 跳转到 拦截函数 中 , 然后 拦截函数 调用 处理函数 , 处理函数调用真正的实际函数 , 返回一个返回值 ;
该跳转代码添加的方式是..., 处理函数 调用 被拦截的 实际函数时 , 这个实际函数中 开始的代码 是我们插入的 跳转代码 , 真实调用时 , 一定要将 跳转代码 恢复成原来的状态 然后才能继续调用 ;
该方法 100% 可以执行成功