发表日期:2009年9月11日

  目前易语言遇到的最大困难是,其编译出的可执行程序,存在较大范围的病毒误报现象。寄希望于短期内提高病毒木马查杀技术是不现实的,我们必须在自己的可控范围内采取有效行动。我们已着手对易语言编译链接系统作出重大调整,并引入静态编译。此计划一旦成功,有望彻底解决“病毒误报”和“秒脱”,编译后的程序运行时将不再必须依赖支持库,EXE文件尺寸也会更小(相对于目前的独立编译)。为此,在吴总的统筹领导下,我们成立了专门的研发小组(成员有 liigo、海洋 等),全力促成此事。

  对于当前的工作进度,汇报如下。正在开发一个可以同时链接易代码和C/C++代码的专用链接器(linker);已对.lib文件(Unix Archive格式)、.obj(COFF格式)、.exe/.dll(PE格式)有了较深的了解;前期先链接C/C++代码,经过一个多月的努力,略有进展,目前卡壳在合成导入表(Import Talbe)部分,遇到了不小的阻力,努力突破中。有位高人曾经说过,“全球所有的链接器设计者大概只能坐满一个房间”(John R. Levine 语)。我们正在做世界上绝大多数人都不曾接触过的工作,资料严重匮乏,面临很多困难。今后将定期或不定期的向各位汇报工作进展,请给予支持、鼓励和帮助。

  由于目前的不利局面,易语言遇到了发展瓶颈和前所未有的困难。这是挑战,也是机遇。我们将一如既往的保持激情和信心,“共同努力,打造中国历史上第一个最强大实用的编程语言!”(吴涛语) 广大易友将是这一光辉进程的历史见证人。请大家给予易语言多一些信心和宽容,少一些抱怨和敌视,平常心对待技术变革。我们需要时间,一万年太久,只争朝夕!(毛主席语)

补充几点:

  1、对于“病毒误报”,我们认为,易语言编译生成的EXE在运行时,绝大多数情况下CPU指令运行在支持库领空(仅少数在EXE领空,这与其它编译器生成的EXE的行为有很大不同),给杀毒软件查杀和机器分析造成了较大阻力,而且由于易语言影响力远不如JAVA/C/C++,很难吸引杀软厂商重视,从而导致误报时有发生。如果以上观点成立,则静态编译可以有效解决误报,因为静态编译后所有有效代码都在EXE内。

  2、对于“静态编译”,是指在编译时,把支持库中被程序使用的有效代码按实际需要链接到EXE中,未被用到的则不链接。以后将不存在“即使仅仅使用一条命令也必须多带一个1M多的支持库文件”的现象。

  3、对于所谓“脱库”,我们指的是“运行时不再必须依赖支持库文件”,而不是简单粗暴的“放弃使用支持库”。现有支持库内容丰富功能强大又易学易用,是易语言一大宝贵财富,是易语言核心价值的突出体现,绝对不会轻言放弃。

  4、对于所谓“秒脱”,是指目前易语言编译出的EXE,由于有“易格式体”的存在,在被加壳保护之后,会被某些特定软件很容易的脱壳,因而不利于软件自我保护。新版易语言静态编译后,将取消“易格式体”,从而不会再有被“秒脱”的现象。

--- 完 ---