如何通过编程方式触发STATUS_VIRUS_INFECTED(0xC0000906)错误?
关于触发STATUS_VIRUS_INFECTED错误及对应Windows API的说明
- 首先明确:
0xC0000906 STATUS_VIRUS_INFECTED是Windows预定义的内核级I/O状态码,仅用于反恶意软件场景下的文件访问拦截,普通应用层程序没有权限直接设置该状态码让其他进程访问文件时触发该错误。 - 常规的文件锁定操作,比如调用
CreateFile时将共享模式参数设为0,仅会触发共享冲突类错误,不会返回该状态码。 - 安全软件使用的对应能力需要依托内核态的文件系统迷你过滤驱动实现:微软为安全厂商提供了专门的反恶意软件过滤驱动开发框架,安全程序可以在该框架的回调逻辑中对文件访问请求做检测,确认文件存在风险时,直接终止I/O请求并返回
STATUS_VIRUS_INFECTED状态码。 - 目前没有公开的、可供普通非安全类程序调用的用户态API来实现该效果。
内容的提问来源于stack exchange,提问作者twieczor
相关产品推荐
相关产品推荐

