我开发了一个Windows XP驱动程序,它可以监视进程的执行情况。
回调函数使用标准WDK API(PsSetCreateProcessNotifyRoutine)接收通知。
然后,驾驶员决定是否应该授权该过程;如果没有,它必须阻止执行/杀死它。
以这种方式拦截执行最干净的方法是什么?我不介意它是否没有记录,但如果可能的话,我宁愿不采取挂钩的方式。
答案 0 :(得分:1)
好的,根据这份文件:
我需要为IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION安装一个minifilter并检查PageProtection == PAGE_EXECUTE。
答案 1 :(得分:1)
PsSetCreateProcessNotifyRoutineEx(Vista +)允许您通过将CreateInfo-> CreationStatus成员更改为NTSTATUS错误代码来使进程创建操作失败。