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