下你所需,载你所想!
IT技术源码资料下载网站

VEH+Dr7硬件断点无痕Hook

:办公软件 2019-10-15 16:29:39

VEH+Dr7硬件断点无痕Hook源码

常规Hook需要修改进程数据,但是游戏类的往往有CRC校验,改了内存会被发现
VEH+Dr7硬件断点无痕Hook源码
VEH+Dr7Hook 就是Dll注入时创建一个VEH异常处理函数
1.往Dr0写入Hook的地址(比如游戏走路会调用一个Call),Dr7写入控制码,
2.当你控制游戏人物走路时,会经过那个Call,因为这个地址被下了硬件断点,就会报一个异常
3.这个时候VEH的处理函数接手处理这个异常,先取消断点(将Dr0和Dr7置0),然后Eflag寄存器TF位置1,使线程单步执行,然后VEH返回-1,线程就会再从Hook的地址处再次执行(游戏中该走的路还是会继续走)
4.因为我们已经设置了TF位为1,所有线程运行到下一步汇编指令时又会报异常,这个时候我们的处理函数就接手,再将Dr0填入Hook的地址,Dr7填入控制码,断点再次生效
5.这个时候线程已经运行到 Hook地址的下面一句了,并且后面我们没有设置断点,也没有TF位置1,所以再返回-1时,程序就正常运行了
http://www.awuming.com/thread-26348-1-1.html

最新推荐