AV软件使用的Windows API Hook

Bas*_*sic 6 .net filesystems hook winapi antivirus

可能重复:
Windows防病毒如何挂钩到文件访问过程?

防病毒软件通常通过(可能)拦截对文件系统的调用,扫描目标文件然后允许调用完成来提供"实时"保护.根据观察到的行为,我猜这种情况会在应用程序尝试打开文件句柄进行读取时发生(至少打开一个安装了Sophos的5 gig文件=即时咖啡休息时间)

这究竟是如何实现的?他们实际上是否使用抽象文件系统的驱动程序,或者仅仅是调用API(哪种方法?)将自己注入链中的情况?

有没有任何标准方法来检测哪些应用程序正在挂钩?

我已经将.Net标记为我的选择框架,但我怀疑P/Invoke是必需的,所以尽管.Net示例是理想的,但直接的API参考几乎同样好.