可能重复:
我的可执行文件中的防病毒误报
到目前为止,我的程序收到了超过 15 个虚假病毒警报。其中大多数来自卡巴斯基,它总是报告相同的病毒:Trojan-GameThief.Win32.Lmir.pcd。有3个问题:
- 为什么会出现?
- 如何预防?
- 如何检测它?
对于第一个问题,因为它总是检测到相同的病毒,我想这是因为我在所有程序中都使用了我的一个例程。但具体是哪一个,我不知道。对于第二个问题,我正在考虑稍微修改程序并重新编译它,足以更改其代码,以便防病毒软件不再识别它并发布新版本。第三个问题是最难的。如何检查我的所有程序与世界上所有的防病毒程序?
更新:
有人知道如何合法处理这个问题吗?似乎许多 Delphi 开发人员都有同样的问题。鲁莽的防病毒公司通过显示大量误报来赚钱,让他们的客户在实际上没有危险的情况下认为他们是安全的。当我们失去客户时,他们正在创造客户。我将问题告知了防病毒公司,但他们仅针对该特定版本进行了修复。下次我发布更新时,误报再次出现。他们只是不在乎。
许多诚实的开发人员因为粗心的防病毒软件而遇到问题。另请参阅:如何防止我的软件出现误报病毒警报?
也许我们可以联合起来反对此类防病毒产品,并迫使他们对误报更加小心,甚至可以为我们因它们而失去的销售额获得一些收入。我们应该签署一份请愿书,让他们知道我们不再接受这一点。
2017 年更新
* 上周我的程序在 VirusTotal 上的检测率接近 50%。我删除了一行代码,神奇地检测到了 61 个(防病毒)中的 2 个。这些防病毒产品的随机性令人惊讶。
* 当程序编译为“发布模式”(带有编译器优化)时,检测率要比在“调试模式”下编译时高得多。
* 使用 EurekaLog 时检测天空火箭。
更新 2019
已经快 9 年了,并没有太大改善。
不幸的是,InnoSetup 也未能幸免。我使用 InnoSetup 创建了一个虚拟安装程序并将其上传到 VirusTotal。52 个程序中有 5 个报告了误报!
结论:
- 在一天结束时将您的 exe 文件上传到 VirusTotal。如果检测率突然跳跃,请检查您在代码中所做的更改并删除“有害”的更改。
- 使用 WinRar 3 作为安装程序。它引发的标志少于 WinRar 5 或 InnoSetup。