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