对于每个CreateProcess,首先调用我的函数

For every CreateProcess, call my function first

本文关键字:调用 我的 函数 于每个 CreateProcess      更新时间:2023-10-16

我的想法是,为每个将要创建的新进程创建一个弹出窗口,这样我就可以确定,只有我允许的进程。

问题是,我如何在Windows创建新进程之前链接我的函数。

我尝试了一些dll注入,但它不工作。

有没有人有解决这个问题的办法,或者甚至不可能?

谢谢!

合法的方法是创建一个内核驱动程序,该驱动程序使用PsSetCreate|ProcessNotifyRoutineEx(在Vista SP1和更高版本上支持)来控制进程的创建(和终止)。这个例程允许您注册一个回调函数,该函数将在创建进程或终止进程时调用。在创建的情况下,您的回调可能决定阻塞进程。回调获取关于新进程的以下信息:

1)图像文件名

2)命令行参数,

3) PID,

4)父进程的PID,

5) TID:创建进程和线程的PID。

如果您不希望开发内核驱动程序,您可以使用近似解。AFAIK WMI能够通知您刚刚创建了一个新进程。当您收到通知时,您可以暂停该进程并询问用户(或做任何您想做的事情)。