2009年12月28日,易语言公司公开发布了“易语言5.0静态编译测试版1”。这是易语言重大版本更新。
易语言5.0 测试版1 相对于易语言4.x更新说明:
增加静态编译功能,支持挂接第三方链接器(比如VC6中的link.exe)。
静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),内部结构更合理(取消了“易格式体”),而且有效解决了“病毒误报”和“容易被脱壳”的难题。
为配合静态编译,易语言编译器、核心支持库、开发环境(IDE)等均有重大更新,支持库开发架框有扩展性调整,绝大多数官方支持库都已针对静态编译完成内部改造并提供静态库。
目前绝大多数官方支持库均已支持静态编译,只有极少数不支持静态编译:vclbase.fne, jedi.fne, com.run/cominf.run/ocx.run。
本次支持库开发框架调整是扩展性调整,比较好的做到了向前向后兼容,即,新版支持库可被旧版易语言或易程序使用,旧版支持库也可被新版易语言或易程序使用(但不支持静态编译)。
第三方支持库,由作者按照最新支持库开发文档进行改造并提供静态库后,可支持静态编译。外部OCX组件和COM组件,不支持静态编译。
此次升级不影响以前的源代码(.e)和模块(.ec),只要代码或模块中未用到“不支持静态编译”的支持库、COM/OCX等,都可以静态编译。以前编译好的模块(.ec)甚至不需要重新编译即可直接支持静态编译。
此版本为测试版,仅供测试使用,禁止用于编译商业软件和正式软件,禁止用于编译非法软件,禁止公开传播静态编译后的软件。
注:测试版中有功能限制。
2009/12/28
大连大有吴涛易语言软件开发有限公司 http://www.eyuyan.com
下载:易语言5.0静态编译测试版1
注意,静态编译功能目前只对正版用户开放测试。解压到任意目录均可,最好不要覆盖到旧版易语言安装目录。
如在测试中发现BUG,请到 易语言5.0静态编译测试版BUG反馈专用贴 中反馈。非常感谢您的参与!
--------------------------------------------------------------------------------
要深入了解易语言静态编译,易语言官方论坛上ID为“易开发组”发表的三篇重要贴子是必须要关注的:
1、易开发组:易语言最新研发进展汇报,静态编译,脱库,消除误报,防止秒脱
2、易开发组本周工作总结:方案有变,目标不变
3、本周带来易语言5.0静态编译测试版的最新消息 [2009年12月25日]
第一篇贴子,我曾经全文转载过,讲的是易语言实施静态编译的起因、计划、初始方案、目标,和决心。要达到的几个目标,很清晰的写在标题中,而且在贴子中有更详细的表述,目标可谓非常明确。
第二个贴子,主要讲的是静态编译计划的实施方案。一开始是按照“自主开发专用链接器”的思路实施,从2009/9/25那周起,果断启用了新的实施方案,即采用了“基于第三方通用链接器”的思路。调整实施方案的主要理由是,后者在时间成本、技术成本、管理成本上优于前者。而“自主开发专用链接器”的实施方案虽已中止,将来亦有可能重新启动。
第三个贴子,主要讲的是具体的实施步骤和项目进展情况。“易开发组”每周五定期发布本周工作进展情况,与易语言用户广泛交流,不时有令人振奋的消息放出。用户们每周都能了解到易语言最新版本的研发情况,对静态编译的易语言5.0版本充满信心和期待。
--------------------------------------------------------------------------------
从最新发布的“易语言5.0静态编译测试版1”来看,已经初步达到当初的目标——静态编译、脱库、消除误报、防止秒脱。前两个目标(静态编译、脱库)已完全达到,后两个目标(消除误报、防止秒脱)目前来看已经达到,但最终还需要时间的检验。我(liigo)个人分析认为,易语言5.0可以完美的“消除病毒误报、防止瞬间脱壳”。现在易语言静态编译出的EXE和DLL都是非常普通的PE结构,杀毒软件厂商完全有能力进行深入彻底的机器分析和人工分析,相信他们的专业水平,应该不会再有大范围的误报行为;而加壳软件对付这种普通PE结构应该也是小菜一碟(今日已有网友证实可以应用加密壳了)。旧版易语言编译出的EXE之所以被误报病毒和难于应用加壳保护,主要还是源于EXE文件的特殊格式,“易格式体”的存在使得杀毒软件和加壳软件处理起来困难重重,而他们又不愿意下功夫真的易语言做特殊处理,毕竟难度和工作量都大,况且易语言知名度也不高。
“易语言5.0静态编译测试版1”发布几个小时以来,根据易语言用户们的反馈情况看,普遍比较满意。多数对“消除病毒误报”比较满意(深受病毒误报危害太久太久),少数对“编译后文件尺寸较大”稍有微词(将来还会改进)。我事前比较担心大家排斥“使用第三方链接器”,现在看来是多虑了,好像大家比较平静的接受了。目前用户们还对于易语言是否应该收取升级费有较多的讨论。新版发布后仅一小时左右,即出现的所谓的静态编译补丁(破解版),可让非正版用户也能使用静态编译功能,速度之快令人意外。但是静态编译中还有功能上的限制(如限制最多使用5个支持库,限制导出DLL的函数个数和名称长度,等),在防破解方面是下过心思的(并得吴总指点),应该没有那么容易被解除。