这两天在编程领域里,又发生了一件令人瞩目的事情:以易语言创始人吴涛的一篇檄文《让我们一起来对360误报说不!》为序幕,再次拉开了易语言跟360杀毒软件之间的基情争斗。数百万易语言用户群起响应,为自己的权利而斗争,——生存的权利。易语言和杀毒软件往年那些恩怨情仇,势必要在今后这些日子里,重新清算一遍。
生死对决!有我没你!!
也无怪乎吴涛愤怒。易语言自2004年成立公司开始商业运作以来,至今已超过十年,期间始终受到杀毒软件的强力压制和不公正对待,以致举步维艰。广大易语言用户也是深受其害。360等杀毒软件以其拙劣的杀毒技术,频繁地将易语言编译出来的程序误报为病毒、木马或其他高风险软件,并且始终不能有效解决。多年来,易语言公司和用户采取了诸多技术上和非技术上的措施,包括升级编译技术(5.0静态编译)、法律起诉等等。杀毒软件们始终保持不理睬不合作不配合的态度,拒绝改进自身杀毒技术。
时至今日,广大计算机用户已经越来越多地意识到,在中国杀毒软件市场上广泛应用的基于白名单的所谓“云查杀”技术,其低劣的水平和粗暴的处理,已经严重阻碍了软件行业的正常发展,成为社会进步的绊脚石。绑架用户,已失民心;恶意误报,不得人心。只要有人再加一把火,登高一呼,民心所向,把杀软的恶行公诸天下,360等再也没有好日子过了。
过去几年来,易语言公司做了许多工作解决病毒误报,这在eyuyan.com官方网站和论坛可以查到。
我(Liigo)个人也为此做了许多努力:
修改某些易语言支持库,重新编译,或无实质内容的修改后重新编译,临时解除该支持库被误报的状况;
《为解决易语言程序被杀毒软件误报而进行的一些不成熟的研究》尝试从“病毒特征码”入手找到被误报的根源;
推出《易语言实验室版X-0.0001、X-0.0002》,尝试改变易语言程序的C运行库静态编译链接方式;
增强易语言静态编译链接器插件(e/tools/link.dll),编译时植入尺寸可变的随机代码:
;xxx_header = 0-100,* ; ; xxx_header系列用于设置在静态编译生成的EXE或DLL内特定位置插入长度和内容均可随机变化的数据段。 ; 配置项名称可以是:eappi_header, ecode_header, eform_header, econst_header, helpfn_header等。 ; 配置项值都可以设置为“a”“a-b”“a-b,c”或“a,c”等格式,其中a、b和c均为一个10进制数值, ; a和b分别指定数据段的最小长度和最大长度,在b被省略的情况下a指定固定长度,单位均为KB, ; c用于指定数据段中每一个字节的填充值,特别的*号表示随机填充。 ; 如果不设置此项,默认为空(或0),即不插入任何数据。 ; ;示例: ;eappi_header = 0-10,* ;ecode_header = 0-20,* ;eform_header = 1,0 ;econst_header = 0 ;helpfn_header =