我创建了一个自动更新应用程序,分发给 100 多个用户。
自动更新实用程序被 55% 的防病毒软件标记为 virustotal (链接)。
我的应用程序是在 Delphi 7 中创建的。大多数标志都说这是通用木马/恶意软件,显然该软件实际上不是恶意软件(我是唯一一个可以访问源代码并访问托管它的服务器的人)但它导致很多用户
有谁知道我怎样才能阻止这个被错误地标记?
我认为你有两个选择:
a) 将您的自动更新程序作为误报提交给所有这些公司,(并为检测到的任何新版本提交)。通过确保您的元数据正确并可能签名,让他们更容易。
b) 拆分功能,这样您就没有一个可以从 Internet 下载文件、覆盖文件和修补文件的 Delphi 程序。
Delphi 2007:新的 VCL 应用程序
编译而不更改任何内容,一些防病毒软件包会将生成的 EXE 报告为潜在的病毒/木马。更改主窗体的名称或向项目添加第二个窗体等,防病毒警告就会消失。撤消更改,它们会返回(因此它不是“Delphi Upgrade Incentive Virus”的 D2007 端口)。
我的猜测是,曾经有人在某个地方用 Delphi 编写了病毒/木马/恶意软件,而与之相关的签名/启发式方法现在有时不幸地与其他 Delphi 应用程序发生冲突。
如果,如您所说,空表单应用程序被评为病毒,您很可能被 Delphi 病毒感染。关于这个...的更多信息:
此外,您使用的是 Delphi 7,它是该病毒的目标(据我所知,并非所有 Delphi 版本都是)。
这取决于 - 如果 100 名用户在公司网络上,使用由组策略管理的相同企业防病毒软件,一种解决方案可能是将您的软件指定为防病毒包中的例外。
我会尝试重构程序、更改名称、更改过程和方法的顺序、一些程序结构、删除、替换和添加代码。
将每个更改提交给 VirusTotal。
您最终可能会检测到导致问题的原因。
如果您的程序“修改”了一个可执行文件,它将被许多 AV 程序拾取。我什至见过Borland 的补丁程序,它与Delphi 7 一起分发,在刚从CD 上安装时被标记为通用病毒。
我不确定您可以做些什么,除非您可以在 AV 程序中关闭该“功能”或有权为其添加例外。就个人而言,我认为这只是 AV 软件编写者创建的一个懒惰的“包罗万象”。
我们在这里遇到了同样的问题...... 反病毒软件也检测到我们软件的一些行为。反病毒公司并没有确切说明他们观看的内容(当然,安全问题)。例如,当我开始使用管道时,我遇到了这个问题。
我们做了什么 ?我们打电话给安全公司,他们分析了我们的 .exe,现在我们在他们身上挂上了“白旗”。
...不,这不是那么快的过程。
反病毒软件还会检查病毒中使用的常见 API 的导入表,尽管我在扫描报告中没有看到任何会触发反病毒软件的 API。
请参阅我在delphi 2010 和 norton internet security 遇到问题的任何人的帖子。最近,我在使用 Delphi 7 编译程序(以及使用其他编译器编译的程序)时也遇到了 SONAR 错误。
我向诺顿报告了这个,也看看诺顿板的热点问题。
当然这只是诺顿,你不指定你遇到了哪些病毒检查器。