自动创建AV异常

时间:2015-04-15 22:36:30

标签: windows winapi antivirus

我已经编写了一个程序,当有更新时,它会下载一个EXE文件。最终用户计算机上的不同防病毒程序显然会对此下载做出不同的反应 - 例如,除非事先设置了异常,否则Avast将在不询问是否授予权限的情况下终止下载,或者在设置中勾选选项(这是我无法保证的。)

有没有办法为所有可能的AV变种添加例外,而不必学习如何为每个可能的AV做到这一点?

要将规则添加到Windows防火墙,以下行就足够了:

netsh advfirewall firewall add rule name="Blah blah" dir=in action=allow program="C:\Program Files (x86)\Yadda\yadda.exe" enable=yes

但是我无法找到类似AV的命令。我并不反对向我的最终用户询问他们使用哪种AV产品并为每种产品写一些东西,但如果可能的话,我宁愿避免使用它。

1 个答案:

答案 0 :(得分:0)

  

最终用户计算机上的不同防病毒程序显然会对此下载做出不同的反应

仅当您以可疑方式执行下载时。 Web浏览器和其他数据下载客户端都没有AV异常,是吗?不,如果您的工作方式正确,您的应用也不应该。我们生活在一个互联的世界里。下载本身就是安全的。 执行下载的代码可能存在风险。

  例如,Avast将在不询问是否授予权限的情况下终止下载,除非事先设置了异常,或者在设置中勾选了一个选项(我无法保证)。

恕我直言,如果Avast真的这样做,那么他就是愚蠢而且过于偏执。

  

有没有办法为所有可能的AV变种添加例外,而不必学习如何为每个可能的AV做到这一点?

没有。这就是假设AV甚至允许在第一时间动态设置规则,这是不可能的(否则,什么是阻止病毒设置规则?)规则是用户定义的,因此AV只允许规则由人类互动设定。

  

要将规则添加到Windows防火墙,以下行就足够了:

netsh advfirewall firewall add rule name="Blah blah" dir=in action=allow program="C:\Program Files (x86)\Yadda\yadda.exe" enable=yes

防火墙与AV不同。如果用户有权更改策略,则Windows FILI,Windows防火墙有自己的public API用于让应用程序设置规则和端口策略。您无需诉诸netsh

  

我无法找到类似AV的命令。

当然不是。这将是一个巨大的安全风险。

  

我并不反对向我的最终用户询问他们使用哪种AV产品并为每种产品写一些东西,但如果可能的话,我宁愿避免使用它。

您应该能够避免必须创建任何例外。如果您的应用需要AV中的例外,那么您可能会做错事。