对于每个 CreateProcess,首先调用我的函数
For every CreateProcess, call my function first
我的想法是,为将要创建的每个新进程制作一个弹出窗口 window,这样我可以确定只有经过我许可的进程。
问题是,我 link 我在 Windows 之前的函数是如何创建新进程的。
我尝试了一些 dll 注入,但它不起作用。
有没有人解决这个问题,或者甚至不可能?
谢谢!
这样做的合法方法是创建一个内核驱动程序,该驱动程序使用 PsSetCreate|ProcessNotifyRoutineEx
(在 Vista SP1 和更高版本上支持)来控制进程创建(和终止)。此例程允许您注册一个回调函数,在创建或终止进程时调用该回调函数。在创建案例中,您的回调可能会决定阻止该过程。回调获取有关新进程的以下信息:
1) 图片文件名,
2) 命令行参数,
3) PID,
4) 其父级的 PID,
5) TID:PID 创建进程和线程。
如果你不想开发内核驱动,你可以提供一个近似的解决方案。 AFAIK WMI 能够通知您刚刚创建了一个新进程。当你收到通知时,你可能会暂停进程并询问用户(或做任何你想做的事)。
我的想法是,为将要创建的每个新进程制作一个弹出窗口 window,这样我可以确定只有经过我许可的进程。
问题是,我 link 我在 Windows 之前的函数是如何创建新进程的。
我尝试了一些 dll 注入,但它不起作用。
有没有人解决这个问题,或者甚至不可能?
谢谢!
这样做的合法方法是创建一个内核驱动程序,该驱动程序使用 PsSetCreate|ProcessNotifyRoutineEx
(在 Vista SP1 和更高版本上支持)来控制进程创建(和终止)。此例程允许您注册一个回调函数,在创建或终止进程时调用该回调函数。在创建案例中,您的回调可能会决定阻止该过程。回调获取有关新进程的以下信息:
1) 图片文件名,
2) 命令行参数,
3) PID,
4) 其父级的 PID,
5) TID:PID 创建进程和线程。
如果你不想开发内核驱动,你可以提供一个近似的解决方案。 AFAIK WMI 能够通知您刚刚创建了一个新进程。当你收到通知时,你可能会暂停进程并询问用户(或做任何你想做的事)。