如何监测windows的进程创建

来源:百度知道 编辑:UC知道 时间:2024/05/07 05:35:13
我想写一个程序,能够监测Windows创建新进程事件,也就是用户打开一个应用程序,如何获取这个信息呢,而且我还希望得到新建立的这个进程的绝对路径和文件名称,不知道可不可以实现,哪位高手来讲解一下

Hook NtCreateProcess在用户态下是可以的,在内核态不行。
用户态HOOK NtCreateProcess,得到EIP后可以获得的信息太少,一般不这样做。

可以有以下几个内核态的方法:
1.建立PsSetCreateProcessNotifyRoutine,具体用法网上有介绍(《安全稳定的进线程监控》),但是只能得到进程创建的通知,不能阻止进程创建。
2.Hook NtCreateProcessEx 注意WINDOWS创建进程在内核态时不是NtCreateProcess而是NtCreateProcessEx。
3.Hook Mm/NtCreateSection 这个网上也有介绍,要比Hook NtCreateProcessEx好一点,不过条件判断要麻烦一些

HOOK NtCreateProcess 这个API就可以了。

很有想象了