首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将内存映射到CLSID结构

将内存映射到CLSID结构
EN

Stack Overflow用户
提问于 2014-06-16 09:08:26
回答 1查看 264关注 0票数 1

在下面的调用堆栈中,MSI包将.NET 4运行时加载到我的进程中:

代码语言:javascript
复制
0:000> kb
 # ChildEBP RetAddr  Args to Child              
...
05 0020bc08 753db8a4 004e639c 0020bc48 0020bc34 ntdll!LdrLoadDll+0x92
...
08 0020be88 73d452dd 0020bee0 71c8f77e 0020bed8 fusion!InitializeVM+0x2a
09 0020be90 71c8f77e 0020bed8 0020cf38 00000001 fusion!CreateAssemblyNameObject+0x8
0a 0020bee0 71c133c5 0020cf36 0020d148 0020cec4 msi!GetFusionPath+0x8f
...
11 0020dc20 6e961d98 04454a80 0020dd04 0020dd00 msi!MsiProvideComponentFromDescriptorW+0x6b
...
13 0020dcd4 755bea87 04454a80 0020dd04 0020dd00 advapi32!CommandLineFromMsiDescriptor+0x1d5
...
1f 0020e3b8 5e4d8f0e 004e489c 00000015 00000000 ole32!CoGetClassObject+0x20
...
24 0020e5dc 045b1652 0199ce38 0199cb08 0199c9f4 mscorwks!JIT_New+0xa6

CoGetClassObject的第一个参数是REFCLSID类型,它是一个指向类ID的指针。我现在想将内存转储到CLSID结构中,但是找不到它。我尝试了dt REFCLSIDdt CLSIDdt LPCLSIDdt _CLSID,并在谷歌上搜索。

如何在WinDbg中转储类ID以找出加载.NET 4运行时的对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-16 09:08:26

数据类型是参考线。将它与CoGetClassObject的第一个参数一起使用,甚至可以很好地打印出来。

代码语言:javascript
复制
0:000> dt _GUID 004e489c
ntdll!_GUID
 {8a385f1a-1622-4169-9010-0ad2d35f51c0}
   +0x000 Data1            : 0x8a385f1a
   +0x004 Data2            : 0x1622
   +0x006 Data3            : 0x4169
   +0x008 Data4            : [8]  "???"

HKEY_CLASSES_ROOT\CLSID\...\InProcServer32中查找值以查找DLL。从DLL信息中可以找到供应商。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24240101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档