【发布时间】:2013-02-13 16:05:27
【问题描述】:
如何在内核模式下使用windbg/kd 从句柄获取文件路径?
【问题讨论】:
如何在内核模式下使用windbg/kd 从句柄获取文件路径?
【问题讨论】:
使用!handle <handle_num> 7 <proc_id> 显示该句柄的详细信息,其中<handle_num> 是句柄值,<proc_id> 是进程ID 值(均基于十六进制),请参阅此msdn 链接了解更多信息。
您可以从用户模式会话中获取您的进程ID,这是最简单的方法,只需在用户模式下附加并输入管道命令|,它将输出如下:
。 0 id: 1680 附加名称: D:\test\MyApp.exe
所以1680 将是proc id,然后使用!handle 列出句柄,然后在内核模式下输入:
!handle <handle_num> 7 1680
会显示你想要的,here 上有一个有用的博客条目。
【讨论】:
codekd> !handle f 000000c8 PROCESS 8c0a7cf8 SessionId: 1 Cid: 0150 Peb: 7ffdf000 ParentCid: 0148 DirBase: 3f4c70a0 ObjectTable: 9e40bea8 HandleCount: 176. 图像: 000f: Object: 8b79a6b0 GrantedAccess: 00000804 code 但我想要磁盘上的文件名,它处理描述。
!handle <handle_num> 7 <proc_id> 这将转储该句柄的信息