弹来弹去跑马灯!

蛋疼的病毒检测

赛门铁克等公司现在都有种叫假阳性的检测隔离机制(false positive),使得很多不是病毒的文件被隔离起来。。。

VB 写的程序即使什么都没有写,插件一个标准窗体EXE也会被某些杀毒软件报毒:http://r.virscan.org/language/en/report/554aff375314ab9ea8a4dd8e0fd7af3f

还有这个网站检测报毒:https://www.virustotal.com/

很多奇怪的情况遇到, 比如代码里 shell 命令容易被检测是毒,改用 ShellExecute 也会,如果你的某些关键字会被杀毒软件认为是比较有威胁的。

如:ShellExecute 0,“Runas”,"notepad","/admin","",1  这种。杀毒软件可能会认为 runas ,/admin 是比较有威胁的关键词。。。。。

于是你只有拼凑起来“骗”过它。。。像下面这样:

Dim sThisAPP As String, s1 As String, s2 As String
sThisAPP = App.Path & "\" & App.EXEName & ".exe"
s1 = "r" & "u" & "n" & "a" & "s"
s2 = "/" & "a" & "d" & "m" & "i" & "n"
ShellExecute 0, s1, sThisAPP, s2, vbNullString, 1

检测OK:https://www.virustotal.com/#/file/63685f3c8da3bcc5519bb02eb6cc8626d4f2aaf824a736b8c2750f5b572d18bc/detection

 

如果你不信 把 s1 As String, s2 As String 改成 sCmd as String, sPara as String 再编译测试又会报毒。。。。哪怕是你的方法名类似 RunAsAdmin 的命名都会无辜地被Cylance这个事逼软件的报毒。

甚至是写一个shell 不报毒,写多个后又可能报毒。。。。

我测试了好几下才发现这种蛋疼的问题。最讨厌这个叫 Cylance的杀毒软件,频繁报毒,还有 fprot这个。。。。。

最最要命的是同一个app代码检测不报毒了,过一阵子你在上次的代码里新加几个空行后编译测试这个 Cylance的杀毒软件有报毒。 。。这个时候你会仰天长啸!What fuck。。。。

哪怕QQ也逃不过它的魔抓 : https://www.virustotal.com/#/file/726fd25d13cb78d2328eeff960fe1064e58df3c27547b2794407aa3ff4049b71/detection

国外这个兄弟描述了他的类似经历:https://photodemon.org/2015/04/06/photodemon-and-virustotal-com.html

友情提示: 这个Cylance杀毒软件是神经病。。。。

 

posted @ 2018-09-13 16:08  wgscd  阅读(282)  评论(0)    收藏  举报