我跟蹤的certutil使用下面的CDB腳本(名爲TraceScript.txt):如何將可見的API集擴展到windbg/cdb/ntdb的logexts擴展?
!logexts.loge c:\logs
!logexts.logc e *
!logexts.logo d d
!logexts.logo d t
!logexts.logo e v
g
!logexts.logb f
q
和下面的批處理文件(名爲trace.cmd):
@echo off
set SYMBOL_PATH=srv*c:\users\markk\appdata\local\temp\symbolcache
cdb -y %SYMBOL_PATH% -cf c:\utils\TraceScript.txt %*
一切都很好,但我有注意到下面的輸出線:
[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的單個調用,該GUID對應於CertConfig類,我猜測它實現了ICertConfig2接口。日誌中沒有其他證書相關的API出現。所以沒有ICertConfig2接口,日誌就沒用了。
任何想法?
P.S.
我很樂意接受跟蹤ICertConfig2 COM API的方法。
讓我直說吧。我修改了兩個.h文件,就是這樣嗎?沒有重新編譯任何東西?我有點懷疑。你自己試過了嗎? – mark 2011-01-25 11:43:02