Windows PsSetCreateProcessNotifyRoutineEx与PsSetCreateProcessNotifyRoutineEx
PsSetCreateProcessNotifyRoutineEx正在成功返回,但是每当创建新进程时,都不会调用回调函数CreateProcessNotifyEX。另一方面,如果改用PsSetCreateProcessNotifyRoutine,则将调用回调函数CreateProcessNotify。为什么当我用PsSetCreateProcessNotifyRoutineEx替换PsSetCreateProcessNotifyRoutineEx,用CreateProcessNotifyEx替换CreateProcessNotifyRoutineEx时,操作系统似乎没有在即将创建新进程时通知我的内核驱动程序 现在的代码是基于内存的,因为我现在在家Windows PsSetCreateProcessNotifyRoutineEx与PsSetCreateProcessNotifyRoutineEx,windows,kernel,Windows,Kernel,PsSetCreateProcessNotifyRoutineEx正在成功返回,但是每当创建新进程时,都不会调用回调函数CreateProcessNotifyEX。另一方面,如果改用PsSetCreateProcessNotifyRoutine,则将调用回调函数CreateProcessNotify。为什么当我用PsSetCreateProcessNotifyRoutineEx替换PsSetCreateProcessNotifyRoutineEx,用CreateProcessNotifyEx替换
**Class.cpp:**
Class::Class{
//Other Person's Code
PsSetCreateProcessNotifyRoutineEx(CreateProcessNotifyEX, FALSE);
//More of Other People's Code
}
void Class::(PEPROCESS Process, HANDLE ProcessID, PPS_CREATE_INFO CreateInfo){
//Code that never occurs (breakpoint doesn't arrive)
}
**Class.h**
(Library is included because code originally used PsSetCreateProcessNotifyRoutine)
void CreateProcessNotifyEx(PEPROCESS Process, HANDLE ProcessID, PPS_CREATE_INFO CreateInfo);
的文档说明,包含回调的模块必须在PE标头中设置IMAGE\u DLLCHARACTERISTICS\u FORCE\u INTEGRITY
标志。没有该标志将导致API返回状态\u访问\u拒绝
:
强制执行代码完整性检查。如果您设置此标志和节
仅包含未初始化的数据,请设置
图像\u节\u该节的标题为零;否则,图像
将无法加载,因为无法验证数字签名
使用链接器的开关启用 的文档说明,包含回调的模块必须在PE头中设置IMAGE\DLLCHARACTERISTICS\u FORCE\u INTEGRITY
标志。没有该标志将导致API返回状态\u访问\u拒绝
:
强制执行代码完整性检查。如果您设置此标志和节
仅包含未初始化的数据,请设置
图像\u节\u该节的标题为零;否则,图像
将无法加载,因为无法验证数字签名
使用链接器的开关启用 你能给我们看看不起作用的代码吗?对不起,我想不起更多了。这是困扰我的问题。所以我发现了问题,PsSetCreateProcessNotifyRoutineEx返回状态\u访问\u拒绝。我该如何修复它?你能给我们看看不起作用的代码吗?对不起,我想不起更多了。这是困扰我的问题。所以我发现了问题,PsSetCreateProcessNotifyRoutineEx返回状态\u访问\u拒绝。我该如何解决这个问题?