1

我希望能够在构建过程的最后阶段调用病毒检查(请不要质疑为什么开发机器会感染病毒,这只是一种避免感染风险的安全措施被客户起诉...)。此外,我希望在机器上安装 AV,但关闭自动文件系统保护(至少对于构建目录)。

我想要的是一种使用任何现有的 AV 系统扫描文件的通用方法。我假设有一个 Windows API 可以执行此操作,因为 Windows 检测到 AV 系统的存在,并且每当下载文件时,Firefox 等浏览器都会调用病毒扫描。那么他们使用的 API 是什么?有 Microsoft AntiVirus API,但它似乎特定于 Office 文档。该方法是否涉及使用WMI?(如果您可以从那里检测到 AV 提供程序,那么您如何调用它来扫描文件?)

我知道我可以编写脚本来手动调用我知道要安装的 AV 扫描仪,但作为一项智力练习,我更想知道像 Firefox 这样的应用程序是如何做到这一点的。

4

2 回答 2

1

Firefox 使用IAttachmentExecute API。但是,您不想在构建脚本中使用它,因为它会添加备用流信息,告诉窗口在执行文件时显示烦人的警告窗口。

于 2010-05-19T08:45:52.723 回答
1

好吧,您可能想nsDownloadScanner直接在Firefox源代码上查看系统:

正如对该文件的评论所述:

Download scanner attempts to make use of one of two different
virus scanning interfaces available on Windows - IOfficeAntiVirus
(Windows 95/NT 4 and IE 5) and IAttachmentExecute (XPSP2 and up).
The latter interface supports calling IOfficeAntiVirus internally,
while also adding support for XPSP2+ ADS forks which define security
related prompting on downloaded content.

可以在此处找到有关这些接口的文档:

如果您的软件是开源的并且符合 MPL 许可证(感谢@MSalters),您也可以直接使用 Firefox 的代码,以避免重新发明轮子。

于 2010-05-19T08:56:35.350 回答