gh99 发表于 2011-8-7 10:04:40

KdSendPacket,KdRecvPacket 过某保护anti驱动调试

某游戏公司为了防止驱动被别人调戏,于是对KdSendPacket,KdRecvPacket,进行了IAT hook, 直接还原iat,系统悄无声息重启,在他钩子内继续装钩子仍然是重启 [这方法曾经是有效的]。


讲ntkrnlpa.exe拖入ida,简单分析了下KdSendPacket的调用顺序.


XXXX函数内

call    80xxxxx   这里的call 为E8 call,跟过去一看。

80xxyyzz:

    jmp dword ptr ;

804d1150 是IAT中记录导入函数地址用的, 而该钩子这直接讲804d1150 内的原函数入口修改为自己的,

强力占坑法,直接对着干只有蓝屏或者重启。

   在e8 call 的地方直接干的话,肯定行,但是受影响的代码太多,无法一一修正, 于是针对 FF25那条指令进行hook, 比如修改为 jmp dword ptr    fxxx记录的是原来函数入口。


这个方法后来手动实验了下,效果还不错,但是这里我们硬编码了 FF25的地址,在不同版本的xp sp3上是不通用的,更何况还要面对vista,win7,那条指令的定位, 可以先来查阅下nt 原文件。。


该指令 在文件中的原形为 jmp dword ptr , 这里出了一个偏差,很明显被重定位了,在重定位表中果然找到了他的踪迹。。

**** Hidden Message *****

msn882 发表于 2011-12-3 17:20:08

谢谢分享谢谢分享

wqs3568 发表于 2012-3-20 09:20:26

感谢楼主分享技术

439366747 发表于 2012-6-2 13:57:37

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

guodong 发表于 2012-8-19 17:50:51

暗杀时间看大叔大叔

ursakra 发表于 2013-3-5 11:18:10

谢谢分享谢谢分享

niccol 发表于 2013-3-15 17:21:32

谢谢分享.............

tomdaweiwlg 发表于 2013-4-27 11:04:11

看看是什么.....

linoffice 发表于 2013-4-28 21:47:10

谢谢分享!!!

kongchu6 发表于 2013-4-28 22:03:06

不看不行啊呵呵
页: [1] 2 3 4 5
查看完整版本: KdSendPacket,KdRecvPacket 过某保护anti驱动调试