缓存与文件系统技术解析
1. 数据扫描与过滤
1.1 数据扫描映射
数据扫描部分可使用传统 API 像普通部分一样进行映射。这使得反恶意软件应用程序能将其扫描引擎实现为用户模式应用程序或内核模式驱动程序。当数据扫描部分被映射时,微型筛选器驱动程序中仍会生成 IRP_M-_READ 事件,但这并非问题,因为微型筛选器根本无需包含读取回调。
1.2 命名管道和邮件槽过滤
当用户应用程序的进程需要与其他实体(进程、内核驱动程序或远程应用程序)通信时,可利用操作系统提供的设施。最常用的是命名管道和邮件槽,它们在其他操作系统中也具有可移植性。
- 命名管道 :是管道服务器与一个或多个管道客户端之间的命名单向通信通道。所有命名管道实例共享相同的管道名称,但每个实例都有自己的缓冲区和句柄,并为客户端/服务器通信提供单独的通道。命名管道通过文件系统驱动程序 NPFS 驱动程序(Npfs.sys)实现。
- 邮件槽 :是邮件槽服务器与一个或多个客户端之间的多向通信通道。邮件槽服务器通过 CreateMailslot Win32 API 创建邮件槽,只能读取一个或多个客户端生成的小消息(远程计算机之间发送时最大为 424 字节)。客户端通过标准 CreateFile API 连接到邮件槽,并通过 WriteFile 函数发送消息。邮件槽通常用于在域内广播消息。如果域中的多个服务器进程使用相同的名称创建邮件槽,则发送到该域中该邮件槽的每个消息都会被参与的进程接收。邮件槽通过邮件槽文件系统驱动程序 Msfs.sys 实现。
从 Windows 8 开始,Filt
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



