某些防病毒软件删除了自动更新程序文件
Posted
技术标签:
【中文标题】某些防病毒软件删除了自动更新程序文件【英文标题】:Auto updater file deleted by certain antivirus 【发布时间】:2018-06-07 08:51:48 【问题描述】:我目前正在开发能够使用服务器上找到的最新应用程序自动更新应用程序的应用程序。这是常见的逻辑:
客户端的应用程序将有 version.txt 以保存客户端上安装的最新版本。 服务器有version.txt,提供最新版本信息,通过windows文件共享方式共享。 我有一个名为“update.exe”的应用程序,它会通过读取 version.txt 并与本地 version.txt 进行比较来检查服务器上的 version.txt。如果版本不同,update.exe 会将我的应用程序从“myapp.exe”重命名为“b_myapp.exe”以进行备份。 update.exe 会将“myapp.exe”从服务器复制到本地文件夹。复制文件后,它将使用服务器“myapp.exe”验证“myapp.exe”。如果文件不匹配,它会删除并重试几次,如果3次失败,它会将“b_myapp.exe”复制回“myapp.exe”并说“更新失败。请联系客户支持”。如果验证通过,“update.exe”将删除“b_myapp.exe”,将version.txt更新到最新并运行“myapp.exe”。这可能不是实现自动更新的最佳选择。但是我们已经实施这种方法多年,并且在任何防病毒软件上都没有问题,直到最近有报道称卡巴斯基防病毒软件将更新的“update.exe”和“myapp.exe”视为风险。
执行“update.exe”会在不需要的应用程序上提示卡巴斯基警报,您只有 2 个选项,即不运行和消毒并重新启动应用程序。如果您选择消毒,它将删除“myapp.exe”并重新运行“setup.exe”(安装文件)并进行修复,从而导致应用程序返回到最旧的版本。如果您选择不运行选项,它将删除“myapp.exe”,如果您重新运行应用程序,它将调用“setup.exe”并进行修复。所以选择选项 1 或 2 会得到相同的结果。
我在服务器上单独扫描了“myapp.exe”,没有感染。我手动将文件从文件共享复制到本地计算机,几秒钟后它被 AV 自动删除。
我做了什么: - 将文件夹添加到 Kapersky Anti Virus 的白名单中 - 将“update.exe”和“myapp.exe”添加到受信任的应用程序列表中。
它没有删除但也没有执行。
仅供参考,AV 已经安装了几个月,直到最近才出现问题。
关于如何在 VB.NET 上实现自动更新的任何建议(或者我应该将“update.exe”更改为其他语言)?或者有什么建议可以让我的应用被 Kapersky AV 列入白名单?
【问题讨论】:
您是否就误报问题联系过卡巴斯基? 可能使用Authenticode 签署您的可执行文件会改善这一点。 @Richard 我没有联系过卡巴斯基,会尝试联系卡巴斯基。 @UweKeim 谢谢。我会调查的 【参考方案1】:我通过签署可执行文件尝试了@Uwe Keim 的建议,确实解决了。
【讨论】:
以上是关于某些防病毒软件删除了自动更新程序文件的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的防病毒软件认为我的 C++ 程序是病毒,我该如何修复它?