QQ游戏系列(寻仙,DNF等等)驱动保护TesSafe.sys

QQ游戏系列(寻仙,DNF等等)驱动保护TesSafe.sys &V~l(1 
1.用RKU看一下SSDT和SSDTShadow,发现SSDT并没有被HOOK,SSDTShadow HOOK了5个调用: !dGu0wE 
NtUserBuildHwndList kD;pj3o&"2 
NtUserFindWindowEx $57b. +2n 
NtUserGetDC *n E kbI/ 
NtUserGetDCEx ,I5SAd|dX 
NtUserGetForegroundWindow rqmb<# Z 
想也不用想,肯定是为了防止其他软件找到他的窗口。 4RtAwB 
解决方法:在TesSafe加载前先加载自己的驱动,备份这5个调用的地址,等TesSafe加载后直接还原即可,或者直接用RKU还原,TesSafe并没有在这里加效验,所以比较容易。 0] 
2.既然SSDT没有没HOOK,那么肯定有inline hook,用windbg看一下,发现被inline hook的调用有如下几个: RM `qC 
NtReadVirtualMemory _,T 4DS6 
NtWriteVirtualMemory ;mk[! 
NtOpenProcess + 0x2xx Call ObOpenObjectByPointer处 i}DS+~8v 
NtOpenThread + 0x1xx Call ObOpenObjectByPointer处 '{jr9Vh 
KiAttachProcess l^Rb%?4Z 
解决方法: tWIJ,_8l 
(1). //FT.e6 
NtReadVirtualMemory )|lxzlk 
NtWriteVirtualMemory _2!8,MX 
这2个比较好解决,自己写2个调用,实现这2个调用的头10个字节,然后再跳转到这2个调用头10个字节后面的地址,再到SSDT表里把这2个调用地址改成我们自己的即可。 22CET9iCe 
(2). Zj_2>A 
NtOpenProcess + 0x2xx Tf86CH=)5 
NtOpenThread + 0x1xx P"Al*{:J 
在TesSafe加载前,先保存ObOpenObjectByPointer的地址(或者用MmGetSystemRoutineAddress获取),然后我们自己写一段代码,实现Call ObOpenObjectByPointer头N个字节(随便自己)以及Call ObOpenObjectByPointer,然后再jmp到Call ObOpenObjectByPointer后面的代码地址,如: -BSdrP| 
push eax +P2oQ_Fk`9 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值