我们写的程序被杀毒软件杀了,杀毒软件到底杀了什么?
🗓️发布日期:2024-04-26 · 🗺️总字数: 820 字 · ⏱️阅读时间: 2 Minute近两天合作伙伴给反馈有5%的用户在使用我们开发的PC客户端软件打开会被杀毒软件进行拦截提示有病毒,这里我们就很纳闷了,本来很简单的功能整个程序就是一个启动壳子,程序代码行数没有超过10行哪里来的病毒.
解决“病毒”的过程
最后细想下可能是因为咱们当时开发为了兼容更多windows机器使用了VC++来开发,所以导致会被很多杀毒软件标识成病毒,想着需求其实很简单就重新使用 .net c#撸了个相同的壳子应用程序,并在对应的在线杀毒检测网站上跑了下,第一次我们编译的时候使用的x86版本,跑出的结果不是很理想如下图:
还是会有两个特征没有过,修改程序的 .netframewok版本后,再次编译检测:
这里还有个特征未过,思考可能是因为应用程序是32位的原因,于是换成64位的编译后:
🤫 惊喜来了,全部跑过了….(后边才知道我们是太单纯了)
我们本地使用之前安装的杀毒软件进行单文件检测了一遍没有任何病毒的特征,在之前最老的版本对应的小红帽杀毒软件一直提示程序是病毒,并且给出对应的特征还有模有样的.反馈是特洛伊木马🎠;
最终解决方案
我们也提供对应的应用程序文件给到合作伙伴,让他们团队进行测试.结果他们测试团队反馈说360和瑞星还在进行阻止.几经沟通后他们才知道在本地文件夹内是可以打开并且没有拦截,但放入U盘后进行打开杀毒软件就会进行拦截提示说是木马文件.
最后和合作伙伴沟通后,只有我们向误报的各个厂商提交误报反馈
进行处理.
360的处理速度还是比较快的,从提交了误报反馈到几次邮件沟通也就几个小时内就处理完成了,其他的杀毒软件误报反馈还在进行中…..
作为开发者看到这里应该明白杀毒软件大体是怎么一回事了,很多时候他们是根据程序单纯使用的一些技术和编译后的应用程序特征增加到所谓的病毒库内进行判读是否为病毒或木马程序,所以呀这些平台折腾的是开发者蒙蔽的是用户.
所以这也就是作为开发者真的让自己电脑“裸奔”,也不愿意使用这些杀毒软件的原因.