2012-12-25 48 views
2

好吧,先介紹一下上下文。我已經開始在我的uni項目中開展一個項目,其中一個目標是開發一個模塊,當某個過程嘗試時將會記錄日誌:需要使用Win32 API截取項目的方向

- 創建,刪除或修改文件(基本上是文件系統活動) - 創建,檢測或修改註冊表ID /值

我們實際上將爲該模塊指定一個進程來監視,並且每當此進程嘗試執行上面列出的任何活動時,它都將被記錄。

現在,我正在研究驅動程序開發的基礎知識以及我的DS建議的過濾器驅動程序。這是我的問題,

什麼是最好的方法來實現這一點,它會通過編寫某種過濾器驅動程序?如果是,而不是確切的過濾器驅動程序,文件系統過濾器驅動程序或微過濾器驅動程序或其他東西?或者不知道其他一些技巧?

我只需要一點點方向,以便我可以做有針對性的研究和實施,因爲我沒有太多的時間來完成這個項目!

+0

您可能想看看Sysinternals Procmon(Filemon和Regmon的合併)是如何工作的。 [Here](http://forum.sysinternals.com/topic8038_page1.html)是一個起點。 –

+0

感謝您的鏈接! – user1831704

回答

0

File system minifilter drivers就是這樣做的方法。

但棘手的部分將是如何指定過程進行監測。如果你正在考慮PID,那麼它很簡單,但如果你正在考慮使用像notepad.exe這樣的進程/可執行文件名,那麼這變得不復雜了。

只是爲了給你提示,你可以在微型過濾器中獲得PID操作,但不能處理名稱。所以你將不得不維護一個PID映射來處理你的minifilter驅動中的名字。你的方式想要使用PsSetCreateProcessNotifyRoutineExPsSetLoadImageNotifyRoutine

+0

感謝您提供的信息,目前我只是在微過濾器的基礎知識中進行討論,讓我明白當我必須獲取特定的流程或檢索流程名稱時,我可能會回覆您! – user1831704