Windows 在NT驱动程序中拦截进程执行

Windows 在NT驱动程序中拦截进程执行,windows,process,driver,nt,Windows,Process,Driver,Nt,我已经为Windows XP开发了一个驱动程序,它能够监视进程的执行 回调函数使用标准WDK API(PsSetCreateProcessNotifyRoutine)接收通知 然后,驾驶员决定是否授权该过程;如果没有,它必须阻止它的执行/杀死它 以这种方式拦截执行的最干净的方法是什么?我不介意没有记录,但如果可能的话,我宁愿不使用挂钩。好的,根据本文档: 我需要为IRP\u MJ\u ACQUIRE\u安装一个微型过滤器,用于\u节\u同步,并检查PageProtection==PAGE\u

我已经为Windows XP开发了一个驱动程序,它能够监视进程的执行

回调函数使用标准WDK API(PsSetCreateProcessNotifyRoutine)接收通知

然后,驾驶员决定是否授权该过程;如果没有,它必须阻止它的执行/杀死它


以这种方式拦截执行的最干净的方法是什么?我不介意没有记录,但如果可能的话,我宁愿不使用挂钩。

好的,根据本文档:


我需要为IRP\u MJ\u ACQUIRE\u安装一个微型过滤器,用于\u节\u同步,并检查PageProtection==PAGE\u EXECUTE。

PsSetCreateProcessNotifyRoutineEx(Vista+)将允许您通过将CreateInfo->CreationStatus成员更改为NTSTATUS错误代码来导致进程创建操作失败。

Vista RTM不支持PsSetCreateProcessNotifyRoutineEx(升级到SP1)