拦截NT驱动程序中的进程执行

时间:2010-06-21 10:15:18

标签: windows process driver nt

我开发了一个Windows XP驱动程序,它可以监视进程的执行情况。

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

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

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

2 个答案:

答案 0 :(得分:1)

好的,根据这份文件:

http://download.microsoft.com/download/4/4/b/44bb7147-f058-4002-9ab2-ed22870e3fe9/Kernal%20Data%20and%20Filtering%20Support%20for%20Windows%20Server%202008.doc

我需要为IRP_MJ_ACQUIRE_FOR_SECTION_SYNCHRONIZATION安装一个minifilter并检查PageProtection == PAGE_EXECUTE。

答案 1 :(得分:1)

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