下面的文章内容是06年时的毕业论文,在大四上学期期末便离开了学校,当时在高铁公司工作,白天出差到珠三角的各个企业检查校验仪器,晚间回到宿舍写论文。在06年全球很少有研究AS的,不像现在基于flash的操作系统都出现了,网页游戏更是到处可见。使用flash来开发软件,当时很少有人研究,在国内也找不相关的资料。是在一个德国朋友提供的源代码的基础上,进行外包装。这个课题是本尊从大学二年级便开始研究,多次出现在本尊的课程设计当中。后来进一步完善,作为大学的,并获得优秀的成绩。但不幸的是,在我毕业后两年,本尊的毕业论文发现在各大数据库中,并在多种期刊上发表。上面署名去是我当时的指导老师,当然本尊的姓名有幸名列其后。
我写这篇博文,是要澄清事实,我所研究的课题,我当时的指导老师没有给予任何帮助,对于使用flash开发软件的课题研究,xx是德国朋友提供的代码,加上本尊的努力完成。现在放出论文的综述,我将在以后的文章中写下事实的真相。
基于FLASH的可视化软件开发
————用FLASH制作网页文本编辑工具
前言
Flash?MX是美国Macromedia公司(全球{zd0}图像编辑软件供应商Adobe在2005年4月出资34亿美元以换股方式收购网页设计软件的生产商Macromedia公司)出品的矢量图形编辑和动画创作的软件,它与该公司的Dreamweaver(网页设计)和Fireworks(图像处理)组成了网页制作的Dreamteam,在国内称其为网页设计“三剑客”,而Flash?MX则被誉为“闪客”。Flash动画(为了避免误会,我先声明FLASH表示FLASH制作软件,也就是Macromedia?Flash?MX,而Flash表示FLASH作品,包括FLASH动画、MTV、游戏和FLASH开发的软件)是当今Internet上{zlx}动画作品(如网上各种动感网页、LOGO、广告、MTV、游戏和高质量的课件等)的制作工具,并成为实事上的交互式矢量动画标准,就连软件巨头微软也不得不在其新版的Internet?Explorer内嵌Flash播放器。
Flash作品具有体积小、兼容性好、直观动感、互动性强大等诸多优点。由于在Flash作品中采用了矢量作图技术,各元素均为矢量,因此只用少量的数据就可以描述一个复杂的对象,从而大大减少动画文件的大小。而且矢量图像还有一个优点,就可以真正做到无极放大和缩小,你可以将一幅图像任意地缩放,而不会有任何失真。此外还采用了“流媒体”技术,播放时让动画先下载一部分,再开始播放,然后边下载边播放,不用等整个动画下载完,就可以开始播放。它的另一个优点就是交互性很好,所谓交互就是通过使用键盘、鼠标等工具,可以在作品各个部分跳转,使受众参与其中。Flash作品交互是通过Action?Script实现的。Action?Script是Flash的脚本语言,随着其版本的不断更新,日趋xx[1]。
1.软件的制作过程
首先要用PHOTOSHOP制作软件界面所要用到的按钮和背景图片,这样制作的软件在界面上将看起来Q版化。此外还要用到音乐剪切工具剪切音乐的一部分,以及转化需要的背景音乐。另外还需要图标制作工具制作不同分辨率的ICO格式的图标。然后我将使用FLASH来编写软件的主要程序,在FLASH中将软件的界面设计好,生成SWF格式的动画,通过flashtools软件将SWF格式转化成EXE格式。{zh1}用ExeScope反编译将修改软件的版权信息以及属性,还要将制作好的ICO图标注人到软件中,其中将会修改按钮属性。接下来就是检测软件。
图一:软件的制作流程图
2.将SWF转化成EXE格式的制作过程
起先我是用Flash?Player自带的功能将swf格式转化成exe,但当我转化完成的时候,发现软件原先有的功能消失了,具体消失的功能有2个,一个是无法定义背景颜色,另一个是编辑框原本可以和浏览框可以互相交换上下位置,这个功能在转化成exe文件后消失了。根据我的分析,功能消失的原因是Flash?Player在转化时,也就是生成播放器的时候将文件压缩了,FLASH是使用Z-lib来压缩的,由于压缩的缘故导致在exe文件运行的时候部分脚本被禁止了。于是我放弃了用Flash?Player来生成exe文件,接着我使用SmartSWF来将SWF格式转化为EXE,但由于生成的EXE文件的脱壳是PKLite?for?Windows,而它是我未见过的,我无法脱壳。
图二:SmartSWF转化后的EXE
又接着我使用FlashChanger来将SWF格式转化为EXE,但由于生成的EXE文件无法xx脱壳我用FlashChange将文件由swf转化成exe格式,此我发现FlashChange为生成的exe文件加上了一个壳,于是我用language2000侦查得知是aspack壳,接着我用AspackDie将生成的exe文件脱壳。当我脱完后,用eXeScope修改时发现大部分的资源已经可以修改了,但唯独图标和版权无法修改。我原以为是eXeScope无法实现这个功能,于是我换了资源修改软件来修改,我分别用了Reshacker和Resscope,但发现这个问题任然存在,软件告诉我的是没有减压缩。于是我排除这不是eXeScope的问题。接下来我用UltraEdit打开已经用AspackDie脱了壳的文件unpacked1.ExE,发现里面的中文有部分是乱码,但关于颜色的那部分程序,可以很清楚的看出来。由此我得出结论,是由于AspackDie的不xx脱壳。很多被加壳的?PE?文件在脱壳以后,往往该?PE?文件的资源部分无法用某些资源工具进行查看、编辑,同时也不利于脱壳文件的优化工作。这其中的主要原因是由于很多加壳程序将部分资源(如?Icon、Version?Information)?从资源节?(resource?section)?移到了壳增加的节里,这导致很多资源工具不能正确识别分布在两个节里的资源数据。于是我又用其他脱壳软件,结果都是不xx脱壳。
图三:软件的不xx脱壳
就在此时我放弃了打算继续找工具为软件脱壳的想法,转为用另外的格式转化工具,我只希望能找到一个既可以将swf转化成exe,又对生成的exe文件没有加壳。后来我找到了2个软件,他们都可以达到我的要求。分别是flashtools和“袖珍SWF→EXE转换器”。我对这2个软件转化后的结果进行比较,发现flashtools好一点。但它也有一个问题就是图标只有一个32*32的256色,而不是从16*16到48*48,16色到256色的。但可以在对图标进行处理的时候,这点是可以克服的。
图四:SWF转化成EXE格式
3动作脚本简介
动作脚本类似于核心的?JavaScript?编程语言。您无需了解?JavaScript,就可以使用和学习动作脚本,但是如果您了解?JavaScript,动作脚本对您而言就似曾相识了。?有许多的资源可以提供关于一般的编程概念和?JavaScript?语言的详细信息。
4修改软件的内部资源
图五:修改软件的内部资源
结语
自Flash?5开始,Macromedia就为Flash确立了以矢量动画创作为主的、面向对象的应用程序集成开发环境的发展方向[3]。Flash?MX?Professional?2004的出现更是使Flash在面向对象开发方面达到了一个前所未有的令人唏嘘的高度。类、包、继承、封装、丰富的组件、项目管理、版本控制,这些以往只能在专业的面向对象的应用程序集成快速开发环境中才能见到的东西已经全部在Flash中得到了贯彻。Flash再也不是一个专司动画创作的工具了。{zx1}版本的FLASH软件能够让开发人员就象使用广泛的VB编程工具一样使用一种基于格式的接口。因此FLASH已经不再是一个制作动画的工具了,它xx可以象VB、VC一样用来开发软件。对于用FLASH来开发软件,它牵涉到图象处理、软件编程、软件的脱壳及内部资源修改等方面。而综合运用这些来开发软件,在当今世界这方面的有关资料还是一片空白
因此,这是一个值得研究的方向。
参考文献
[1]Show?Good。Flash?MX教学课件与互动游戏。北京:人民邮电出版社。2003.1
[2]Macromedia?Flash?MX。Flash帮助。?FlashMX\Help\Flash\ContextHelp.htm
[3]陈冰。Flash{dy}步。蓝色理想论坛
转载本博客文章请注明,转载自:百毒博客 ()
本文地址:
无相关文章.