马上注册,结交更多易友,享用更多功能,让你轻松玩转觅风论坛。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
秒杀一切R3Hook源码开源分享-看源码再说话,
众所周知,Hook的方式非常多,比较常见的就是修改Hook处字节跳转到自己的申请内存写入的代码段中,处理完成后然后再跳回来,
缺点不言而喻:1.修改了内存过不了 CRC校验 2.构造跳转跳回的代码段很麻烦 3.每处HOOK可能都需要专门处理通用性差
我的例子用到了2种Hook方法:
第一种是之前发过的硬件断点Hook,将Hook的地址写入Dr0-Dr3中,可以在读取/读写/访问此内存地址时断下,此时读写寄存器/挂接代码然后返回正常流程,只有1个缺点:硬件断点最多只有4个
因此研究了第二种CC断点Hook,在Hook的地址写入0xcc{204},当程序运行到此地址时断下,此时读写寄存器/挂接代码然后返回正常流程,理论可做到无限断点
和之前一样,封装成了DLL(因为发现之前我的dll被别人封装成模块拿去卖钱,所以本次故意加了VMP壳体积比较大,正常编译+UPX=15kb)DLL功能完整,支持4个硬件断点(可断读写/访问/无痕APIHook)+无限个CC断点
|
|