Windbg 转储中的进程描述、用户和发布者信息
有没有办法从Windows内核崩溃转储中检索进程描述和发布者Windbg 转储中的进程描述、用户和发布者信息,windbg,windows-server-2008-r2,windows-server-2012-r2,crash-dumps,Windbg,Windows Server 2008 R2,Windows Server 2012 R2,Crash Dumps,有没有办法从Windows内核崩溃转储中检索进程描述和发布者 我试过了,!dml_程序。它不显示该信息。说明应该从exe模块获取。 例如: 0:kd>!工艺FFF A800482F940 2 GetPointerFromAddress:无法从FFFFF 80397F65000读取 工艺FFF A800482F940 会话ID:1 Cid:0e3c Peb:7f7cfefa000家长Cid:04bc 目录库:26bcc000对象表:FFFFF 8A0028F4E80 HandleCount:
我试过了,
!dml_程序
。它不显示该信息。说明应该从exe模块获取。
例如:
0:kd>!工艺FFF A800482F940 2
GetPointerFromAddress:无法从FFFFF 80397F65000读取
工艺FFF A800482F940
会话ID:1 Cid:0e3c Peb:7f7cfefa000家长Cid:04bc
目录库:26bcc000对象表:FFFFF 8A0028F4E80 HandleCount:
图像:Taskmgr.exe
0:kd>.process/p FFFFF A800482F940
隐式进程现在是FFFFF A80`0482f940
0:kd>。重新加载/用户
加载用户符号
..........................................................
0:kd>lmvm任务管理器
浏览完整模块列表
起始端模块名称
000007f7`d08c0000 000007f7`d09da000任务管理器(延期)
映像路径:C:\Windows\system32\taskmgr.exe
图像名称:taskmgr.exe
浏览所有全局符号函数数据
时间戳:2012年7月26日星期四02:07:18(50107C26)
校验和:00119B41
图像大小:0011A000
文件版本:6.2.9200.16384
产品版本:6.2.9200.16384
文件标志:0(掩码3F)
文件操作系统:40004 NT Win32
文件类型:1.0应用程序
文件日期:00000000.00000000
翻译:0409.04b0
公司名称:微软公司
产品名称:Microsoft®Windows®操作系统
内部名称:Taskmgr.exe
原始文件名:Taskmgr.exe
产品版本:6.2.9200.16384
文件版本:6.2.9200.16384(win8_rtm.120725-1247)
任务管理器
版权所有:©微软公司。版权所有。
说明应该从exe模块获取。
例如:
0:kd>!工艺FFF A800482F940 2
GetPointerFromAddress:无法从FFFFF 80397F65000读取
工艺FFF A800482F940
会话ID:1 Cid:0e3c Peb:7f7cfefa000家长Cid:04bc
目录库:26bcc000对象表:FFFFF 8A0028F4E80 HandleCount:
图像:Taskmgr.exe
0:kd>.process/p FFFFF A800482F940
隐式进程现在是FFFFF A80`0482f940
0:kd>。重新加载/用户
加载用户符号
..........................................................
0:kd>lmvm任务管理器
浏览完整模块列表
起始端模块名称
000007f7`d08c0000 000007f7`d09da000任务管理器(延期)
映像路径:C:\Windows\system32\taskmgr.exe
图像名称:taskmgr.exe
浏览所有全局符号函数数据
时间戳:2012年7月26日星期四02:07:18(50107C26)
校验和:00119B41
图像大小:0011A000
文件版本:6.2.9200.16384
产品版本:6.2.9200.16384
文件标志:0(掩码3F)
文件操作系统:40004 NT Win32
文件类型:1.0应用程序
文件日期:00000000.00000000
翻译:0409.04b0
公司名称:微软公司
产品名称:Microsoft®Windows®操作系统
内部名称:Taskmgr.exe
原始文件名:Taskmgr.exe
产品版本:6.2.9200.16384
文件版本:6.2.9200.16384(win8_rtm.120725-1247)
任务管理器
版权所有:©微软公司。版权所有。
我曾试图编辑并发布pykd团队答案的澄清,但编辑结果并不充分,因此将此作为答案发布
lmvm输出的FileDescription引用任务管理器详细信息选项卡中的描述列
公司名称指的是“启动”选项卡中的“发布者”列
您可以通过修改在启动时执行的任何文件的rsrc部分中的文件版本信息进行检查。请参见下文windbg中编辑的发布者,其exe与上面发布的相同
如何检查上述断言的有效性
open a live kd session
run task manager in target and select a startup
look at details and locate the process name say vmtoolsd.exe
break into kd using ctrl+break
!process 0 0 vmtoolsd.exe
.process /p /r EPROCESS ADDRESS OF vmtoolsd.exe
!dh vmtoolsd find the Data directory SECURITY DIRECTORY and start searching for FILE_VERSION_INFO
loacte the string value of Company Name
use eb Address to edit the Company Name to some random string
execute using g
now execute task manager and you will see the publisher column in startup tab reflecting the random string as publisher
你应该得到这样的结果
kd> $$>a< getuname4proc.txt
xx-PC$ smss.exe
LOCAL SERVICE svchost.exe
xx taskhost.exe
kd>$$>a
我曾试图编辑并发布pykd团队答案的澄清,但编辑结果并不充分,因此将此作为答案发布
lmvm输出的FileDescription引用任务管理器详细信息选项卡中的描述列
公司名称指的是“启动”选项卡中的“发布者”列
您可以通过修改在启动时执行的任何文件的rsrc部分中的文件版本信息进行检查。请参见下文windbg中编辑的发布者,其exe与上面发布的相同
如何检查上述断言的有效性
open a live kd session
run task manager in target and select a startup
look at details and locate the process name say vmtoolsd.exe
break into kd using ctrl+break
!process 0 0 vmtoolsd.exe
.process /p /r EPROCESS ADDRESS OF vmtoolsd.exe
!dh vmtoolsd find the Data directory SECURITY DIRECTORY and start searching for FILE_VERSION_INFO
loacte the string value of Company Name
use eb Address to edit the Company Name to some random string
execute using g
now execute task manager and you will see the publisher column in startup tab reflecting the random string as publisher
你应该得到这样的结果
kd> $$>a< getuname4proc.txt
xx-PC$ smss.exe
LOCAL SERVICE svchost.exe
xx taskhost.exe
kd>$$>a
您可以通过使用获得这些信息以及更多信息!ps
来自的命令
注意:从内核内存转储只能获取用户名。要获取用户名、文件描述和公司名称,您需要一个完整的内存转储
dbgkit.dll
复制到winext文件夹中(例如:C:\ProgramFiles(x86)\Windows Kits\10\Debuggers\x64\winext
)。加载dbgkit
命令!ps
命令(要查看其他命令,请运行!dbgkit.help)您可以通过使用
获得这些信息以及更多信息!ps
来自的命令
注意:从内核内存转储只能获取用户名。要获取用户名、文件描述和公司名称,您需要一个完整的内存转储
dbgkit.dll
复制到winext文件夹中(例如:C:\ProgramFiles(x86)\Windows Kits\10\Debuggers\x64\winext
)。加载dbgkit
命令!ps
命令(要查看其他命令,请运行!dbgkit.help)!for_each_process "r $t0=(@@c++(((_EPROCESS*) @#Process )->Token.Object)&0xfffffff8);r? $t1=@@c++(((_TOKEN*)@@(@$t0))->LogonSession->AccountName);r? $t2=@@c++(((_EPROCESS *) @#Process )->ImageFileName);.printf \"%mu\t\t\t%ma\\n\",@@c++((wchar_t *)@$t1.Buffer),@@c++((char*)@$t2)"
kd> $$>a< getuname4proc.txt
xx-PC$ smss.exe
LOCAL SERVICE svchost.exe
xx taskhost.exe