浅度解析:易语言编写的程序为什么老是被误报!
本帖最后由 yhslc752162814 于 2011-8-26 15:23 编辑易语言这个编程工具是目前使用很广泛的把,但是有个很严重的问题一直困扰着使用该程序编程的人!“误报!”,这个问题一直纠结了很久、很久!到现在也只是好点了,没有说什么没有代码的易语言程序也来带个XXX病毒的头衔了,但还是有很多误报!
我就来浅度分析一下!
这里了我就把易语言的“编译”与“静态编译”出来的程序的报毒效果图先发一下!我就用“飘零网络验证客户端”来演示一下!
编译:
1.360:
2.世界查毒网:
静态编译:
1.360:
2.世界查毒网:
看到这里大家就会发现一个问题,“编译”出来的程序几乎不报毒,而“静态编译”出来的软件就很容易报毒,这是为什么呢?我先来讲解下编译与静态编译意义,你们就会明白了!
编译:直接将代码转换为程序,程序运行时要求系统或该软件运行目录里有该程序运行时所需要的库文件!
静态编译:将代码编译为程序,再将软件运行所需要的压进程序里,当程序运行时释放库文件,再从指定位置读取调用库文件,使程序运行!
这样你们就会明白一点了,说简单点,就用winrar说吧,压缩一个文件后解压,要么直接使用winrar解缩,要么在压缩时选定“自解压”,在没有winrar的时候依然可以解压!
易语言的“编译”与“静态编译”的区别也就类似于“winrar解压”与“winrar自解压”的区别!
说到这里问题就出来了!
“编译”出来的程序直接从该程序运行目录或系统里直接调用库文件,而静态编译的软件就需要先释放库文件,再到指定位置读取,达到类似“winrar自解压”的目的。
说到这里,大家就会发现,“静态编译”的程序就很类似于捆绑木马:1.程序运行,2.释放文件,3.调用文件!几乎都差不多把!只是最后一步有点差别!
说到这里,大家也就明白了吧!“静态编译”的程序里面含有程序运行所需要的库文件,运行程序后就像是捆绑了东西的文件,释放文件爱你,并调用!使杀毒软件误以为程序是被捆绑后的的软件,所以报毒!而现在大多数人都应该用的是静态编译,所以就有了网上闹得沸沸扬扬的“易语言误报门”了!
我的分析就是:“编译”出来的程序,直接调用库文件,类似于C++,而静态编译则需要先将库文件释放出来在加以调用,就类似于“winrar自解压”,使得杀毒软件检测到程序里包含了其他文件,而且程序里也含有将文件释放出来的命令,触动杀毒神经,所导致杀毒误认为是捆绑了木马的程序,故杀毒软件认为“静态编译”出来的程序是病毒!
建议:易语言公司大力发展易语言,使易语言被广泛使用,并在今后尽快开发出类似于VC++ 200X可再发行组件包、microsoft .net framework 2.0的组件包!让程序直接从系统调用库文件!而杀毒软件方也应该重视一下,升级自己的程序,让今后即使是静态编译出来的程序一样不被误报!
转载请注明来处,谢谢~~~~~~~~如有不对望指正,谢谢~~~~~~~~~~{:1_912:}
学习了 图片全部挂掉 图片看不了。。解释不了。0。0 我这里看得到图片啊! 我把图片重新上传了一下 再看下 图挂了没! 了解下,不知道是不是这回事。 写得不错,支持了 支持,加油,我也学习呀