程序员为什么不装杀毒软件?甚至某些程序员装了杀毒软件会被同行耻笑!很多从事App开发的程序员或许没有体会,甚至有时候当一些App开发的程序员的电脑上装了杀毒软件被别的程序员嘲笑的时候,甚至都不知道怎么回事。而程序员之所以使用杀毒软件会被认为是一种“耻辱”,那是因为程序员和杀毒软件天生就是一种“敌对”状态,注意“耻辱”和“敌对”我都打了引号,说明这里面存在着争议。
正常软件的“杀毒软件之困”经历过PC软件时代的程序员可能都遇到过一个事情,那就是你在软件每次发布新版本的时候,都需要做两件事情。
第一件事情就是将你的软件加壳,加壳本身的意图本来很纯粹,就是想要使软件体积更小,对软件进行加密,起到保护软件不被攻击的效果。但是,对软件加壳还有一个作用,就是可以避免软件被杀毒软件当木马病毒给查杀掉。所以,很多软件病毒都会使用加壳软件对病毒软件进行加壳,从而起到“保护”自己的作用。
加壳其实是很多小的软件公司的无奈之举,因为不加壳的话,杀毒软件就会通过反编译手段分析软件的运行逻辑,当它“怀疑”你的软件存在不正常的运行逻辑的时候,可能就会把你的软件当做木马程序给杀掉了!
第二个事情,一般是忽略第一步或者和第一步并行的事情,那就是需要将你的软件上传到杀毒软件的软件库,杀毒软件会对你的软件进行分析,确认你的软件不存在一些攻击性的行为之后,就会给你的软件打上一个标签,这样当用户下载你的软件之后,杀毒软件就不会查杀你的软件了!
需要注意的是,第一步不一定有用,所以可能需要第二步,但是,如果采取第二步,那么你软件每次做出更新的时候,都需要将更新后的软件上传到杀毒软件的软件库,否则即使之前已经上传了,可能还会被当做木马程序被杀毒软件查杀掉。
有些程序员或者一些软件公司很自信,两步都不做,直接把软件开放下载,但是后来发现,软件总是莫名其妙被杀毒软件给查杀掉或者用户手动卸载。
出现这个情况的原因很简单,是出于两个原因。
第一个原因就是,假如你的软件当中有操作磁盘文件的情况,那么此时杀毒软件就会提醒用户,这个软件正在操作文件,需要用户手动确认是否安全,如果用户不能及时确认,杀毒软件就会在用户确认超时之后阻止软件操作文件的行为。
有些比较流氓的杀毒软件会直接弹出“此软件存在威胁”的窗口,提醒这个软件可能是木马程序,并且询问用户是否需要“处理掉”这个软件。
有些用户不懂,就会把“处理权限”交给杀毒软件,这时候杀毒软件就会直接把这个疑似木马程序的软件给“查杀”掉,也就是帮用户把软件直接卸载掉。
第二个原因就是,如果你写的软件没有上传到杀毒软件的软件库中,那么杀毒软件就不认识你写的软件,有些有良心的杀毒软件可能经过检测,发现你的软件没有任何威胁,就啥也不做,但是有些比较流氓的杀毒软件就会直接弹窗告诉用户:“您下载的软件可能存在威胁!”,如此一来,一些用户看到红窗提示,就吓得把软件交给杀毒软件给卸载了!
所以,杀毒软件仅仅是因为“不认识”你写的软件,但是它也不说不认识,并且可能扫描你写的软件后又没发现什么不正常,所以就会提醒用户“可能存在威胁”。如果单纯得提示用户可能还没什么,关键它还给出“查杀”或“卸载”按钮给用户!
所以,很多个人软件作者和软件公司对于杀毒软件这种行为不胜其烦!
尤其是一些软件被开发出来以后,为了验证软件是否会被杀毒软件查杀,软件的开发者不管是个人还是公司,都需要在电脑上装上各个版本的杀毒软件,以验证软件是否会被杀毒软件当作威胁或者木马程序,不做这一步的话,可能会造成一些后果,其中最严重的就是一些经济损失了,比如一些公司会对软件进行营销,软件如果被杀毒软件视为威胁,那么营销费用可能直接就打水漂了,尤其是一些游戏软件,是重灾区!
程序员为什么不用杀毒软件?而对于程序员个人来说,对于杀毒软件的排斥主要取决于三个方面。
第一个方面,如果一个程序员的电脑上装了杀毒软件,那么可能你写一个“Hello World!”,都有可能被杀毒软件当成木马程序。
程序员自己知道自己的软件没问题,但是在调试自己代码的时候被杀毒软件频频警告,是很不舒服的事情。尤其是自己点了“添加信任”这个按钮,但是因为每次代码编译以后杀毒软件都需要“重新认识”一下你写的软件,因此程序员在开发软件的过程中会直接把杀毒软件关掉。
很多程序员会比较傲娇,往往会说:“我要你来教我做事?”。
第二点就是,程序员因为开发需要,可能电脑上会安装各种各样古怪的软件,这些软件本身也没有经过加壳或者上传到杀毒软件的软件库,而且很多软件因为本身被人下载就非常难得,所以会热更新,如此一来会经常被杀毒软件误报。
经常弹窗误报程序员也不胜其烦,有时候一不小心可能就点了“同意卸载”的按钮,但卸载容易,重新找到一个可以用且绿色的软件往往不那么容易,尤其是一些安装包比较大的软件,网速本来就不好,卸载了后重新装回来又得耗很长时间。
第三点尤其重要,那就是虽然很多杀毒软件可以手动关闭,但是后台的查杀引擎还在,它会时刻分析电脑的运行环境。
当程序员在调试一些程序的时候,可能程序需要进行大量运算,这时候杀毒软件也会分析程序在干嘛,因此导致程序的性能下降。说白了,杀毒软件会阻碍程序员正常调试程序的这个行为,但是程序员调试程序几乎是每天都要做的。
有些时候,程序运行不正常,程序员都找不到问题出现的原因,但是,把杀毒软件彻底关掉,程序就正常了。所以,程序员就更不愿意用杀毒软件了!
结语如今,移动互联网时代,杀毒软件逐渐退出了历史的舞台,现在很少有人会在手机上安装杀毒软件了,但是,杀毒软件与程序员的恩怨却一直没有消除掉。所以,即使很多程序员不知道程序员和杀毒软件还存在着这些恩怨,也会遵循“老一辈”的建议,不安装杀毒软件。
况且,杀毒软件对于程序员的作用微乎其微,本身程序员的风险意识就极高,不需要有个东西时刻提醒自己,老被提醒有点智商受到侮辱的感觉,所以对杀毒软件也就不感冒了!
但普通人,不像程序员那样专业,为了保护好自己的电脑,装一些杀毒软件还是很有必要的,杀毒软件对于网络安全的贡献也不会因为和程序员之间的恩怨就此抹掉!