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. Linux系統監視器如何獲取進程統計信息
- 3. 設計用於監視和重新啓動進程的監視進程
- 4. 如何排隊系統進程啓動
- 5. 從Rails啓動系統進程
- 6. 在python * nix系統中自動重新啓動守護進程
- 7. Java的系統監視器
- 8. 使用C語言監視Windows操作系統的進程
- 9. 作爲系統進程啓動新進程
- 10. Linux - 在系統啓動時自動運行哪些進程
- 11. 監視進程
- 12. 雙監視器系統中的JFrame
- 13. 在系統啓動時啓動Rails
- 14. 在RN系統啓動時自動啓動應用程序
- 15. 在系統殺死後自動重啓監控
- 16. Django的:在系統啓動
- 17. 如何使用Java在kubuntu中監視系統統計信息?
- 18. JMX - 監視進程存在
- 19. 從主java程序啓動監視器
- 20. 製作服務監視器並重新啓動進程
- 21. Android應用程序不啓動在系統啓動
- 22. 如何在系統範圍內監視用戶活動?
- 23. 監視Outlook啓動/關閉
- 24. 如何在Mac中監視進程
- 25. 如何在HTML5應用程序的Windows系統上啓動遠程進程
- 26. 使用FileSystemWatcher監視文件系統
- 27. 監視Android系統設置值
- 28. unix系統調用監視器
- 29. 系統資源監視器/圖表
- 30. solaris的gnome系統監視器
請不要在生產代碼中執行此操作,它在x64上不起作用,並且很可能會導致混亂 – 2008-11-19 22:51:20