0

使用 C# .NET Core 3.1 编写的程序,我必须管理 EXE 或 DLL 文件更新的下载。在客户端 PC 上,有一些文件必须通过该程序定期更新,该程序会下载新版本的文件。目前这些文件没有经过数字签名(目前无法对它们进行签名,也许将来可能会),因此,这些文件的下载经常被机器上安装的防病毒软件阻止。要允许下载文件,您需要创建一个规则以从防病毒块中排除这些文件。

我想实施一项检查,在下载之前验证这些文件更新是否可以通过防病毒检查,而无需实际下载它们(下载是一个相当复杂的过程)。

现在我已经完成了这些测试:

  • 阅读防病毒软件中设置的排除规则(甚至可能通过软件 API),以验证是否存在与要更新的文件相关的规则,但鉴于客户端上存在多种可能的防病毒软件,很难创建一个单一的解决方案。此外,我在不同的主要防病毒产品中找到的文档中似乎没有任何类似的东西
  • 通过 AMSI Windows API (Windows 10) 进行接口。通过这种方式,我可以对机器上存在的文件执行扫描,但似乎下载时应用于文件的相同扫描规则不适用于这种扫描。

有什么想法可以实现这样的功能吗?

4

0 回答 0