我被有很多經驗的人告知,至少有一種替代方式來監視Windows操作系統調用,例如,創建類似於過程監視器的功能或開發反病毒掃描程序,而不是「掛鉤」,並且這種替代方法比掛鉤效率更高。但是,我不確定在開發過濾器驅動程序來執行此任務的上下文中有哪些替代方法。除了可用於監視Windows系統上Native/SSDT API調用的「掛鉤」之外,還有其他方法嗎?
回答
沒有SSDT掛鉤的等價物,但這並不意味着你不能監視事件。我們在KM中有幾個CB可用於監控和更改數據/訪問權限等。如果您在談論防病毒掃描器,那麼大多數時候這些CB都是足夠的。我認爲最好是描述一下你需要什麼。然後說出使用什麼更容易。
注意事項這是作爲評論。我認爲這是瘋狂的,你必須賺取超過50代表能夠置評論!評論對於更好地理解問題和澄清事物很有用。爲什麼有人需要有代表呢?!
嗯,我說的是一個AV掃描,以查看和附加一些功能,所有調用給定的API,如NtCreateFile或NtCreateSection,例如在內核模式下。 –
好的。要攔截對文件系統的修改/訪問,您可以編寫**文件系統過濾器驅動程序**並註冊它以接收通知。您可以實施微過濾器或使用舊的架構。還有一個爲** NtCreateSection **提供的CB,可以爲微過濾器設置**,IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION **。也可以通過設置** FsRtlRegisterFileSystemFilterCallbacks:PreAcquireForSectionSynchronization ** –
非常完美,非常感謝!如果你想讓我知道,我可以編輯這個問題,也許你可以把這個信息放入答案中?或者你想只保留在評論中? –
- 1. 除了PIVOT之外,還有其他的方法嗎?
- 2. JavaBean除了getter和setter之外還有其他方法嗎?
- 3. 除了轉義引號之外,還有其他方法嗎?
- 4. 除了泛型類之外,還有其他方法可以調用結構的接口方法嗎?
- 5. 除了super()之外,還有其他一些方法可以調用Parent的__init__方法嗎?
- 6. 掛鉤系統調用在Windows
- 7. Atom除了聯合供稿之外還可以用於其他用途嗎?
- 8. 在Ruby中,除了'case - when'之外,還有其他更優雅的方法來調用方法嗎?
- 9. 處理iOS Exceptions除了Crittercism之外還有其他方法
- 10. 除strace外還有其他方法可以記錄iotcl調用嗎?
- 11. 除委託之外還有其他協議用法嗎?
- 12. 除了Android SDK之外,還有其他的Android模擬器嗎?
- 13. Scala:除了scala之外,還有其他的嘗試嗎?
- 14. 除了Siphon之外,iPhone還有其他的SIP實現嗎?
- 15. EOL == EOS除了BASIC之外還有其他語言嗎?
- 16. 監視器/掛鉤javascript API
- 17. 除了使用var關鍵字之外,還有其他方法可以初始化JS中的變量嗎?
- 18. 除了使用Cursor之外,還有其他方法可以從SQLite數據庫中獲取數據嗎?
- 19. 除了使用預處理器指令之外,還有其他方法可以避免衝突類型嗎?
- 20. 除了用於Python的matplotlib還有其他圖形模塊嗎?
- 21. 系統調用掛鉤的問題
- 22. 除了以「=」結尾的base64還有其他編碼方法嗎?
- 23. WebLogic XML外部實體解析:除了使用XML註冊表之外,還有其他方法嗎?
- 24. 除POST,PUT,DELETE,GET之外還有其他的HTTP方法
- 25. 還有其他方式可以訪問OAUTH2以外的其他Google API嗎?
- 26. 除了ClickOnce之外,還有部署基於Windows應用程序的工具嗎?
- 27. 除了模擬持久任務之外,Thread.Sleep()還有其他用途嗎?
- 28. 除了默認的x + 1之外,還有其他策略可用於自動遞增主鍵嗎?
- 29. 在$ .post()之前掛鉤其他數據所有調用
- 30. 掛鉤讀取系統調用
處理器監視器不監視Windows操作系統調用,但是監視Windows內核中的某些類型的事件。它通過各種技術來做到這一點。對於文件監控,它使用設備過濾器驅動程序,就像防病毒掃描程序一樣。請參閱https://stackoverflow.com/questions/1531800/how-does-a-windows-antivirus-hook-into-the-file-access-process此技術根本無法用於監視SSDT(SQL Server數據工具)API(我認爲)是一個用戶級別的API。 –
@RossRidge謝謝,但由SSDT我的意思是系統服務調度表調用aka系統調用 –
你可能會想到MS [Detours](https://www.microsoft.com/en-us/research/project/detours/) – JJF