2011-03-26 102 views
3

請問能給我指點(沒有雙關語意思)的話題我需要研究才能做到這一點?我並不是真正的Windows專家,但是我很快就接觸到了新的概念。監視內核註冊表變化

我看到了過程監控程序,它標記Russinovich和Bryce科格斯韋爾寫道: http://technet.microsoft.com/en-gb/sysinternals/bb896645

能看到事物的內核中發生的註冊表項明智的。過去我一直能夠使用C#和用戶級別的註冊表訪問來做這種事情,但是我無法使用從codeproject獲得的包裝套件來訪問內核。

有人可以請我幫忙,問我應該從哪裏開始?我想我在這方面的Windows/OS方面要求更多的幫助。

這樣做的理由: (我比Java程序員更喜歡Java,但是我想進入後者,最好的學習方法是做一些有趣的事情,對實時應用感興趣,這是我能想到的最廉價的一個(不需要爲數據付費)。)

+0

這裏有幾個指針:0x3A28213A,0x6339392C,0x7363682E。抱歉。我忍不住了。 – fouronnes 2011-03-26 13:29:54

+0

Regmon來源:http://www.mediafire.com/?4sxu53d1r1dgg5s – Shelwien 2011-03-26 16:11:02

回答

0

編寫內核模式驅動程序來攔截註冊表讀/寫是非常困難的。如果您只想看到用戶和內核模式註冊表訪問,最好的方法是通過實時ETW跟蹤監聽器。有了這個,你可以獲得所有你想要的監控,而不需要修改正在運行的內核。馬克不使用這個,因爲當時它不存在,但現在我確信他會建議你這樣做。如果您熟悉Linux上的DTrace,ETW是Windows的最接近的等價物(它與DTrace類似,但不像用戶友好或腳本化)。

檢查出http://blogs.msdn.com/b/matt_pietrek/archive/2005/03/23/401080.aspx的ETW介紹,以下是一個問題與SO有關的實時ETW消費者:How do I register as a real-time ETW consumer for NT Kernel Events?

+0

也許它在Vista之前很難做到,但現在已經不復存在了。在CmRegisterCallbackEx的幫助下,只需幾行代碼即可。 ([鏈接](http://lordjeb.com/2014/01/14/registry-filter-drivers-part-1/)) – rustyx 2015-08-26 14:54:04