- 注册时间
- 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
最后感谢所有论坛,默默的发贴者
|
|