对于每个CreateProcess,首先调用我的函数
For every CreateProcess, call my function first
我的想法是,为每个将要创建的新进程创建一个弹出窗口,这样我就可以确定,只有我允许的进程。
问题是,我如何在Windows创建新进程之前链接我的函数。
我尝试了一些dll注入,但它不工作。
有没有人有解决这个问题的办法,或者甚至不可能?
谢谢!
合法的方法是创建一个内核驱动程序,该驱动程序使用PsSetCreate|ProcessNotifyRoutineEx
(在Vista SP1和更高版本上支持)来控制进程的创建(和终止)。这个例程允许您注册一个回调函数,该函数将在创建进程或终止进程时调用。在创建的情况下,您的回调可能决定阻塞进程。回调获取关于新进程的以下信息:
1)图像文件名
2)命令行参数,3) PID,
4)父进程的PID,
5) TID:创建进程和线程的PID。
如果您不希望开发内核驱动程序,您可以使用近似解。AFAIK WMI能够通知您刚刚创建了一个新进程。当您收到通知时,您可以暂停该进程并询问用户(或做任何您想做的事情)。
相关文章:
- 为什么我的运算符 + 重载尽管是通过引用传递的,但仍调用我的复制构造函数?
- 什么时候可以使用常量装饰调用我的重载函数?
- 为什么当我做复制和交换习语时不调用我的复制构造函数?
- 钩/绕道 d3d9 (现在/结束场景) - 似乎调用我的函数然后崩溃
- 为什么在这种情况下不调用我的虚拟函数实现?
- 在linux中,mono调用我的.so-lib返回System.EntryPointNotFoundException
- 当我从头文件和实现文件调用我的函数到我的主文件时,我没有得到任何输出
- 为什么没有调用我的回调?
- 如何制作指针来调用我的成员函数
- 如何在Android Studio中编写CMakelists来调用我的C 项目(JNI)的功能
- 为什么在这种情况下不调用我的移动构造函数?(首先分配 r 值引用并创建对象)
- 我如何调用我的3个数据成员中每个人的设置方法,然后显示由我的设置方法设置的值
- 为什么没有调用我的覆盖方法
- 我的类中有方法的指针数组,但我不能调用我的方法.代码如下
- C++模板:无法从 main.cpp 调用我的函数
- 为什么我继承的构造函数调用我的基本默认构造函数
- 我如何在C#GUI中调用我的C 程序
- SetWindowsHookEx没有调用我的回调
- c++ Glut 显示需要调用我的绘制函数,但我无法传递任何参数
- 如何从对象中调用我的set回调函数