Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我为 Windows XP 开发了一个驱动程序,它能够监视进程的执行。
回调函数使用标准 WDK API (PsSetCreateProcessNotifyRoutine) 接收通知。
然后,驱动程序决定是否应该授权该过程;如果没有,它必须阻止它的执行/杀死它。
以这种方式拦截执行的最干净的方法是什么?我不介意它是否没有记录,但如果可能的话,我宁愿不使用挂钩。
PsSetCreateProcessNotifyRoutineEx (Vista+) 将允许您通过将 CreateInfo->CreationStatus 成员更改为 NTSTATUS 错误代码来导致进程创建操作失败。
好的,根据这个文件:
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 安装一个微过滤器并检查 PageProtection == PAGE_EXECUTE。