Re: 请教,如何用WINDBG找出IDT的原始地址

Windows内核调试

请教,如何用WINDBG找出IDT的原始地址


djxh77710 2010-09-17, 10:55 上午

请教各位大侠,在系统IDT表中某些项已经被HOOK以后,启动XUETR或其它RKU工具,可以获取整个表的原始地址,

请教如何得到IDT表的原始地址的?

网上查了N久,但是未果,得到的唯一答案是,从NTOSK*内核文件中搜特征码,请教,如何找到这段特征码呢?

麻烦各位大哥了

Re: 请教,如何用WINDBG找出IDT的原始地址


格蠹老雷 2010-09-17, 12:25 下午
_KPCR结构中是有一份记录的:

kd> dt 82b7bc00 _KPCR -y IDT*
ntdll!_KPCR
+0x038 IDT : 0x80b95400 _KIDTENTRY
kd> r idtr
idtr=80b95400

如果HOOK程序没有改这里,那么是可能找到的,其实就是fs:0x38的位置:
kd> dd fs:38 l1
0030:00000038 80b95400


Re: 请教,如何用WINDBG找出IDT的原始地址


王宇 2010-09-17, 12:51 下午
如果代码 Hook 了,可以自己 Map 内核,搜索 IDT 特征,之所以特征搜索是因为特征太明显了,可以精准对比 ExtendedOffset、Selector 等。

类似的方法可用于搜索 KiServiceTable。而不是用那什么“A more stable way to locate real KiServiceTable”。

Powered by Community Server Powered by CnForums.Net