文章目录
一、通过修改 GOT 全局偏移表拦截函数
二、通过在实际被调用的函数中添加跳转代码实现函数拦截
一、通过修改 GOT 全局偏移表拦截函数
----
使用 GOT 全局偏移表 拦截函数 , 只需要将...GOT 表中的 函数地址 指向 我们 自定义的 拦截函数 即可 ;
当调用 指定的 需要被 拦截的函数时 , 就会调用我们 自定义的 拦截函数 , 之后再调用 自定义的处理函数 , 处理函数有如下处理方式..., 而执行函数 ;
因此 , 使用 GOT 表拦截函数并不能保证 100% 成功 ;
二、通过在实际被调用的函数中添加跳转代码实现函数拦截
----
在 实际的被调用的函数 中 , 添加 跳转代码 ,...跳转到 拦截函数 中 , 然后 拦截函数 调用 处理函数 , 处理函数调用真正的实际函数 , 返回一个返回值 ;
该跳转代码添加的方式是 直接覆盖 实际函数的 代码 , 不能改变 函数代码 的总体大小...字节 修改为 跳转代码 ;
这里注意 , 处理函数 调用 被拦截的 实际函数时 , 这个实际函数中 开始的代码 是我们插入的 跳转代码 , 真实调用时 , 一定要将 跳转代码 恢复成原来的状态 然后才能继续调用