在使用 C# 程序下载文件之前模拟防病毒检查

问题描述

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

我想在下载之前执行一项检查,以验证这些文件更新是否可以通过防病毒检查,而无需实际下载(下载过程非常复杂)。

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

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)