我希望能够调用病毒检查作为构build过程的最后阶段(请不要质疑为什么开发机器会感染病毒,这只是一个腰带和大括号的方法,以避免获得病毒被客户起诉…)。 另外,我想select在一台机器上有AV,但closures自动文件系统保护(至less是build立目录)。
我想要的是使用任何AV系统扫描文件的通用方法。 我假设有一个Windows API来做到这一点,因为Windows检测到AV系统的存在,并且只要文件被下载,Firefox等浏览器就会调用病毒扫描。 那么他们使用的API是什么? 有Microsoft AntiVirus API,但似乎是特定于Office文档。 该方法是否涉及使用WMI ? (如果您可以从那里检测AV提供程序,那么您如何调用它来扫描文件?)
我知道我可以编写脚本来手动调用我知道要安装的防病毒扫描器,但作为一个智力练习,我更感兴趣的是知道像Firefox这样的应用程序是如何做的。
Golang – 在Windows上更改构build工作path
缺less使用WMI ManagementObjectSearcher的指令或程序集引用?
病毒扫描器导致应用程序负载缓慢
Windows Defender防病毒API
使用C#在Windows上检测防病毒
Java – 是否有可能以编程方式确定Windows防病毒解决scheme是否是最新的?
防病毒和文件访问冲突:良好的编程习惯?
服务器端病毒扫描
那么,你可能想直接在Firefox源代码上看看nsDownloadScanner系统:
nsDownloadScanner.h
nsDownloadScanner.cpp
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.
这些接口上的文档可以在这里找到:
IAttachmentExecute
IOfficeAntiVirus
如果您的软件是开源的,并且符合MPL许可证(谢谢@MSalters),那么您也可以直接使用Firefox的代码,以免重蹈覆辙。
Firefox使用IAttachmentExecute API。 但是,您不想在构建脚本中使用它,因为它会添加备用流信息,告诉窗口在执行文件时显示恼人的警告窗口。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。