Debugging 如何扩展windbg/cdb/ntdb的logexts扩展可见的api集?

Debugging 如何扩展windbg/cdb/ntdb的logexts扩展可见的api集?,debugging,com,certificate,windbg,trace,Debugging,Com,Certificate,Windbg,Trace,我使用以下cdb脚本(名为TraceScript.txt)跟踪certutil: 以及以下批处理文件(名为trace.cmd): 一切正常,但我注意到输出中有以下行: [LogHookComInterface] Interface {7a18edde-7e78-4163-8ded-78e2c9cee924} is unknown -- not logging. 其中GUID对应于以下注册表路径: HKEY_CLASSES_ROOT\Interface\{7A18EDDE-7E78-4163-8

我使用以下cdb脚本(名为TraceScript.txt)跟踪certutil:

以及以下批处理文件(名为trace.cmd):

一切正常,但我注意到输出中有以下行:

[LogHookComInterface] Interface {7a18edde-7e78-4163-8ded-78e2c9cee924} is unknown -- not logging.
其中GUID对应于以下注册表路径:

HKEY_CLASSES_ROOT\Interface\{7A18EDDE-7E78-4163-8DED-78E2C9CEE924}
这反过来对应于
ICertConfig2
接口-似乎相关,不是吗

无论如何,我想知道是否有可能使这个接口对日志记录器可见,因为没有它,所有日志记录都是无用的。我怎么知道?记录器报告了对CoCreateInstance API的一次调用,其GUID为372FCE38-4324-11D0-8810-00A0C903B83C,对应于CertConfig类,我猜它实现了ICertConfig2接口。日志中未显示其他与证书相关的API。因此,如果没有ICertConfig2接口,日志将毫无用处

有什么想法吗

附言


我很乐意接受跟踪ICertConfig2 COM API的方法。

查看(windbg路径)\winext\manifest下的文件

那里的文件包含记录器扩展所使用的定义。h包含接口的定义

h包含从GUID到接口的映射


您需要将ICERConfig2的定义转换为该工具使用的格式

让我来解释一下。我修改了两个.h文件,就是这样吗?没有重新编译任何东西?我有点怀疑。你自己试过了吗?是的,只需修改这两个文件。logviewer和logger每次都解析清单文件。我自己也在其他API中使用过。您知道我在哪里可以获得一些SDK头的清单吗?手动创建它们是一项非常繁重的工作…我放弃了。清单中似乎遗漏了大量API,手动添加它们并不是我未来20年的设想。
[LogHookComInterface] Interface {7a18edde-7e78-4163-8ded-78e2c9cee924} is unknown -- not logging.
HKEY_CLASSES_ROOT\Interface\{7A18EDDE-7E78-4163-8DED-78E2C9CEE924}