概述:WinDbg 插件 SDbgExt,提供扩展调试功能。
0x01、插件概述
SDbgExt 是一个功能丰富的 WinDbg 扩展插件,提供了许多实用的调试命令和功能。
GitHub 仓库
0x02、安装方法
手动安装
- 从 GitHub 下载最新版本
- 将
SDbgExt.dll复制到 WinDbg 的ext目录:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\ext\ - 在 WinDbg 中加载插件:
.load sdbgext
自动加载
在 WinDbg 初始化脚本中添加:
.load sdbgext
0x03、常用命令
进程相关
# 列出进程对象
!processes
# 显示进程详情
!process [address]
# 显示线程信息
!threads
对象管理器
# 显示对象目录
!object [path]
# 列出对象类型
!objecttypes
# 查找对象引用
!findobject [name]
句柄相关
# 显示句柄表
!handles
# 查找特定句柄
!handle [value]
# 显示句柄详细信息
!handleinfo [handle]
回调相关
# 列出进程创建回调
!pscreatecb
# 列出线程创建回调
!threadcreatecb
# 列出镜像加载回调
!imageloadcb
内存相关
# 显示堆信息
!heapinfo [heap]
# 显示池标签
!pooltags
# 显示内存区域
!memregions
注册表相关
# 显示注册表回调
!regcallbacks
# 显示注册表配置
!regconfig
0x04、高级功能
对象追踪
# 启用对象追踪
!objtrace on
# 查看对象追踪结果
!objtrace list
# 停止对象追踪
!objtrace off
句柄泄漏检测
# 开始检测句柄泄漏
!trackhandles on
# 显示追踪结果
!trackhandles list
# 清除追踪
!trackhandles clear
回调分析
# 显示所有注册的回调
!callbacks all
# 过滤特定类型
!callbacks process
!callbacks thread
!callbacks image
!callbacks registry
0x05、示例用法
分析进程创建回调
0: kd> !pscreatecb
Process Create Callbacks:
Address Module Callback
fffff800`12345000 ntoskrnl.exe PspCreateProcessNotifyRoutine
fffff800`12346000 driver.sys MyCreateProcessCallback
...
查找对象句柄
0: kd> !findobject \Device\MyDevice
Found 3 references:
Process: 4 (PID: 1234), Handle: 0x100
Process: 8 (PID: 5678), Handle: 0x200
Kernel reference at fffff800`12345678
检查注册表回调
0: kd> !regcallbacks
Registry Callbacks:
Count: 5
[0] fffff800`12340000 - driver.sys!RegCallback
[1] fffff800`12350000 - antivirus.sys!RegMonitor
...
0x06、与其他插件配合
与 SOS 配合
# 加载顺序
.load sdbgext
.load sos
# 结合使用
!processes
!clrstack
与 Sysinternals 工具配合
# 获取进程信息
!processes
# 结合 Procmon 等工具分析
0x07、常见问题
插件加载失败
- 检查架构匹配(x64 vs x86)
- 确认路径正确
- 检查依赖库是否存在
命令执行错误
- 确认调试会话类型(内核/用户)
- 检查参数格式
- 确保足够的权限
0x08、参考文章
更新时间: 2026-03-27