- 注册时间
 - 2012-9-25
 
- 最后登录
 - 2022-9-24
 
- 在线时间
 - 68 小时
 
 
 
 
 
终身VIP会员 
    
	- 魔鬼币
 - 18318 
 
 
 
 | 
 
1:调试TP先下断 bp KdDisableDebugger 再开游戏 断下后按下面的分析做 
 
//第1步:先改下面4个://这都是系统的偏移一般不会变 除非某游戏驱动不检测这里,偏移才作废 
 
eb nt!KdDisableDebugger+26 75;eb nt!KdDisableDebugger+41 75;eb nt!KdDisableDebugger+1d 74; eb nt! 
KdDisableDebugger+36 75 
 
//改完上面的4个后,F10往下走,直到RETN的时候,我们r eax(EAX为函数的返回值,eax=0代表KdDisableDebugger返回失败,即可以进行双击调试。返回前自己确认一下是不是返回正确。 
 
///////////第2步://////////////////////下面再找TP的2处判断////////////////////////////////////////// 
继续F10, 
TesSafe+0x702e: 
edc0702e 803e00          cmp     byte ptr [esi],0//找这个判断,ESI=1就是在调试状态,把下面跳改掉 eb TesSafe+0x7031 74 
1: kd> p 
TesSafe+0x7031: 
edc07031 75b0            jne     TesSafe+0x6fe3 (edc06fe3) 
//已找到一个,继续F10 
 
//F10返回后就是一个CALL,自己U一下前后的代码看的更清楚,注意要单步进入CALL,最后一个在CALL内部 
TesSafe+0xb4df: 
edc2b4df e82ebcffff      call    TesSafe+0x7112 (edc27112) 
//CALL内部: 
1: kd> u TesSafe+0x7112 
TesSafe+0x7112: 
edc27112 a16c7bc3ed      mov     eax,dword ptr [TesSafe+0x17b6c (edc37b6c)] 
edc27117 8b402c          mov     eax,dword ptr [eax+2Ch] 
edc2711a 3305687bc3ed    xor     eax,dword ptr [TesSafe+0x17b68 (edc37b68)] 
edc27120 7404            je      TesSafe+0x7126 (edc27126) 
edc27122 ffd0            call    eax 
edc27124 eb24            jmp     TesSafe+0x714a (edc2714a) 
edc27126 803d7232c3ed00  cmp     byte ptr [TesSafe+0x13272 (edc33272)],0 
edc2712d 751b            jne     TesSafe+0x714a (edc2714a) 
edc2712f 6882010000      push    182h 
edc27134 68e64d6e43      push    436E4DE6h 
edc27139 6873426e57      push    576E4273h 
edc2713e e849c9ffff      call    TesSafe+0x3a8c (edc23a8c) 
edc27143 c6057232c3ed01  mov     byte ptr [TesSafe+0x13272 (edc33272)],1 
edc2714a 8b0d6432c3ed    mov     ecx,dword ptr [TesSafe+0x13264 (edc33264)] 
edc27150 85c9            test    ecx,ecx 
edc27152 740f            je      TesSafe+0x7163 (edc27163) 
edc27154 a16832c3ed      mov     eax,dword ptr [TesSafe+0x13268 (edc33268)] 
edc27159 85c0            test    eax,eax 
edc2715b 7406            je      TesSafe+0x7163 (edc27163) 
edc2715d 3901            cmp     dword ptr [ecx],eax  //就是这个判断了 改下面的跳转 eb TesSafe+0x715f 75 
edc2715f 7402            je      TesSafe+0x7163 (edc27163) 
edc27161 8901            mov     dword ptr [ecx],eax 
edc27163 c3              ret 
//好了 到这里双机检测就完成了 总结下 : 
在启动游戏前,bp KdDisableDebugger 启动游戏断下后,直接修改下面的跳转,就可以正常调试了: 
eb nt!KdDisableDebugger+0x26 75;eb nt!KdDisableDebugger+0x41 75;eb nt!KdDisableDebugger+0x1d 74; eb nt! 
KdDisableDebugger+0x36 75;eb TesSafe+0x7031 74;eb TesSafe+0x715f 75 
 
最后感谢所有论坛,默默的发贴者 
 |   
 
 
 
 |