7
A
回答
3
你可以找出流程時啓動通過使用實時ETW消費 - 然而,能夠採取一些行動可能可能從開始取消的過程中,你必須做一些見不得人/無證,如掛鉤的CreateProcess,或者使用內核篩選器驅動程序阻止對EXE的讀取。
6
你應該看看easyhook-continuing-detours項目,這是Microsoft Detours項目的.NET端口。它將允許您掛鉤非託管API(例如CreateProcess)。查看一個簡單的FileMon程序here的代碼示例。
2
只需使用進程創建通知。它包含在Windows中。 你不需要鉤住任何東西。
7
有幾種方法可以做到這一點。如果您只需要跟蹤來自特定程序(或幾個程序)的進程創建,這裏提到的EasyHook/Detours方法將會很好地工作,但您實際上需要在每個程序中安裝一個CreateProcess鉤子,所以它不是如果您想跟蹤系統中的所有流程創建,這是一個很好的解決方案
在基於NT的Windows變體(NT/2000/XP/Vista)中有一個稱爲PsSetCreateProcessNotifyRoutine()的特定API。不幸的是,你只能從ring0調用這個函數,所以需要在驅動程序中完成。這個CodeProject文章中有一個方便的解釋(和代碼):http://www.codeproject.com/KB/threads/procmon.aspx。
AFAIK,這只是一個通知,而不是本身並允許你告訴系統的過程中是否應該創建與否。但是,如果您需要這樣做,則可以暫停該過程(例如,通過將其作爲調試器附加到該過程),同時代碼決定是否要殺死它。
相關問題
- 1. 監視進程的啓動和關閉?
- 2. 如何監視啓動「dllhost.exe」的進程?
- 3. Linux系統監視器如何獲取進程統計信息
- 4. 如何監視Android中所有進程中的系統調用?
- 5. 從Rails啓動系統進程
- 6. C#無法啓動系統EXE進程
- 7. 如何排隊系統進程啓動
- 8. 設計用於監視和重新啓動進程的監視進程
- 9. 如何確保在系統啓動時啓動監控?
- 10. 在python * nix系統中自動重新啓動守護進程
- 11. 監視與系統內部/ Microsoft的FileMon /進程監視器類似的文件
- 12. Java的系統監視器
- 13. 使用C語言監視Windows操作系統的進程
- 14. 作爲系統進程啓動新進程
- 15. Linux - 在系統啓動時自動運行哪些進程
- 16. 在啓動時運行並監視redis和node.js進程
- 17. 監視進程
- 18. 啓動遠程進程和監視器狀態
- 19. C#中的文件系統監視器
- 20. 操作系統中的監視器
- 21. 在系統啓動時啓動Rails
- 22. 在系統啓動時啓動Rundeck
- 23. 如何在C,C++的Linux操作系統上啓動進程
- 24. 在64位操作系統上啓動32位進程
- 25. 紅寶石守護進程不會在系統啓動時
- 26. 在系統崩潰/重新啓動後繼續進程 - Drools Flow
- 27. 在RN系統啓動時自動啓動應用程序
- 28. 在系統殺死後自動重啓監控
- 29. 如何使用Java在kubuntu中監視系統統計信息?
- 30. Django的:在系統啓動
請不要在生產代碼中執行此操作,它在x64上不起作用,並且很可能會導致混亂 – 2008-11-19 22:51:20