2017-09-27 41 views
-1

我被有很多經驗的人告知,至少有一種替代方式來監視Windows操作系統調用,例如,創建類似於過程監視器的功能或開發反病毒掃描程序,而不是「掛鉤」,並且這種替代方法比掛鉤效率更高。但是,我不確定在開發過濾器驅動程序來執行此任務的上下文中有哪些替代方法。除了可用於監視Windows系統上Native/SSDT API調用的「掛鉤」之外,還有其他方法嗎?

+1

處理器監視器不監視Windows操作系統調用,但是監視Windows內核中的某些類型的事件。它通過各種技術來做到這一點。對於文件監控,它使用設備過濾器驅動程序,就像防病毒掃描程序一樣。請參閱https://stackoverflow.com/questions/1531800/how-does-a-windows-antivirus-hook-into-the-file-access-process此技術根本無法用於監視SSDT(SQL Server數據工具)API(我認爲)是一個用戶級別的API。 –

+0

@RossRidge謝謝,但由SSDT我的意思是系統服務調度表調用aka系統調用 –

+0

你可能會想到MS [Detours](https://www.microsoft.com/en-us/research/project/detours/) – JJF

回答

0

沒有SSDT掛鉤的等價物,但這並不意味着你不能監視事件。我們在KM中有幾個CB可用於監控和更改數據/訪問權限等。如果您在談論防病毒掃描器,那麼大多數時候這些CB都是足夠的。我認爲最好是描述一下你需要什麼。然後說出使用什麼更容易。

注意事項這是作爲評論。我認爲這是瘋狂的,你必須賺取超過50代表能夠置評論!評論對於更好地理解問題和澄清事物很有用。爲什麼有人需要有代表呢?!

+0

嗯,我說的是一個AV掃描,以查看和附加一些功能,所有調用給定的API,如NtCreateFile或NtCreateSection,例如在內核模式下。 –

+0

好的。要攔截對文件系統的修改/訪問,您可以編寫**文件系統過濾器驅動程序**並註冊它以接收通知。您可以實施微過濾器或使用舊的架構。還有一個爲** NtCreateSection **提供的CB,可以爲微過濾器設置**,IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION **。也可以通過設置** FsRtlRegisterFileSystemFilterCallbacks:PreAcquireForSectionSynchronization ** –

+0

非常完美,非常感謝!如果你想讓我知道,我可以編輯這個問題,也許你可以把這個信息放入答案中?或者你想只保留在評論中? –

相關問題