You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windbg实时调试中如何定位DriverEntry?以nt模块为例

实时调试场景下如何查找DriverEntry?

内核驱动模块的PE文件头中标记的入口点通常不是真正的DriverEntry——以系统核心模块nt为例,PE入口对应的是内核初始化入口KiSystemStartup,而非驱动入口DriverEntry。下面结合示例说明验证过程,以及正确的定位方法:

验证PE入口非DriverEntry的过程

  1. 获取模块基地址
    使用lmvm命令查看目标模块的加载信息,提取start列的基地址:
kd> lmvm nt
Browse full module list
start             end                 module name
fffff802`1bc00000 fffff802`1cc47000   nt         (pdb symbols)  
...

这里fffff8021bc00000就是nt`模块的加载基地址。

  1. 查看PE头的入口点偏移
    用!dh命令解析PE头,找到address of entry point对应的偏移值:
kd> !dh fffff802`1bc00000
...
A71010 address of entry point
...
  1. 验证该入口并非DriverEntry
    将基地址与偏移相加得到入口地址,用u命令反汇编查看:
// 计算地址:基地址 + 入口偏移 = fffff802`1bc00000 + 0xA71010
kd> u fffff802`1bc00000+0xA71010 L1 
nt!KiSystemStartup:
fffff802`1c671010 4883ec38        sub     rsp,38h

可以看到这个入口是KiSystemStartup,不是我们要找的DriverEntry。

正确定位DriverEntry的方法

方法一:利用符号直接查找(推荐)

如果目标模块有完整的PDB符号,直接用x命令搜索模块的DriverEntry:

kd> x nt!DriverEntry
fffff802`1c05d000 nt!DriverEntry

反汇编确认函数结构:

kd> u nt!DriverEntry L5
nt!DriverEntry:
fffff802`1c05d000 48895c2410      mov     qword ptr [rsp+10h],rbx
fffff802`1c05d005 48896c2418      mov     qword ptr [rsp+18h],rbp
fffff802`1c05d00a 4889742420      mov     qword ptr [rsp+20h],rsi
fffff802`1c05d00f 57              push    rdi
fffff802`1c05d010 4883ec50        sub     rsp,50h

方法二:无符号时解析导出表查找

如果没有符号支持,需要手动解析模块的导出表:

  1. 用!dh查看导出表的相关RVA:
kd> !dh fffff802`1bc00000
...
Export Directory
    TimeDateStamp:        55c40a3d
    Major/Minor:          0/0
    Name:                 ntkrnlmp.exe
    Base:                 1000
    Number of functions:  2b9e
    Number of Names:      2b9e
    Address of functions: fffff802`1bc00000 + 0x9f0000 = fffff802`1c5f0000
    Address of names:     fffff802`1bc00000 + 0xa50000 = fffff802`1c650000
    Address of ordinals:  fffff802`1bc00000 + 0xa6c000 = fffff802`1c66c000
...
  1. 遍历导出表中的名称列表,找到DriverEntry对应的函数地址;或者根据内核驱动的导出规则,定位到驱动入口函数。

内容的提问来源于stack exchange,提问作者jimmy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 20:22:48