大多数已知的AntiVirus软件都具有实时监控功能,这意味着它可以在访问或执行之前扫描文件。如何实现这样的技术?在.NET中有一些名为filewatcher
的东西我不知道这是否与AntiVirus中使用的内容相同。
答案 0 :(得分:6)
通常,防病毒软件会安装一个过滤器驱动程序,该驱动程序附加到Windows内核中的文件系统驱动程序。因此,对文件系统驱动程序的所有请求首先传递给过滤器,过滤器然后确定是转发还是拒绝该请求。
请注意,在用户模式下挂钩Windows API或任何其他API通常是不够的,因为恶意软件总是可以直接向内核发出调用,绕过已挂钩的API。
答案 1 :(得分:1)
挂钩(Win)API函数是这类任务的通用解决方案,但我想这只是冰山一角。在wiki(Detection
小节)中几乎没有注意到这一点。因此,您需要了解如何挂钩API函数以及一般的Windows内部。我建议将Windows via C++作为解决这一全球性问题的良好起点。