Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

Windows内核调试

帖子发起人: djxh77710   发起时间: 2010-09-17 10:55 上午   回复: 2

Print Search
帖子排序:    
   2010-09-17, 10:55 上午
djxh77710 离线,最后访问时间: 2011/9/7 2:30:24 djxh77710

无等级
注册: 2010-09-17
发 贴: 1
Embarrassed [:$] 请教,如何用WINDBG找出IDT的原始地址
Reply Quote

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

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

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

麻烦各位大哥了


IP 地址: 已记录   报告
   2010-09-17, 12:25 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 请教,如何用WINDBG找出IDT的原始地址
Reply Quote
_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



IP 地址: 已记录   报告
   2010-09-17, 12:51 下午
WANGyu 离线,最后访问时间: 2012/9/10 3:34:00 王宇

发帖数前10位
男
注册: 2007-05-08
发 贴: 306
Re: 请教,如何用WINDBG找出IDT的原始地址
Reply Quote
如果代码 Hook 了,可以自己 Map 内核,搜索 IDT 特征,之所以特征搜索是因为特征太明显了,可以精准对比 ExtendedOffset、Selector 等。

类似的方法可用于搜索 KiServiceTable。而不是用那什么“A more stable way to locate real KiServiceTable”。
IP 地址: 已记录   报告
高端调试 » 软件调试 » Windows内核调试 » Re: 请教,如何用WINDBG找出IDT的原始地址

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.