提取Flash脚本的三款软件的使用与比较

时间:2022-09-24 07:01:58

【前言】提取Flash脚本的三款软件的使用与比较由文秘帮小编整理而成,但愿对你的学习工作带来帮助。硕思闪客精灵Sothink SWF Decompiler软件能够反编译Flash的所有元素,包括矢量图、变形矢量图、声音、字体、文本、片段动画、按钮、脚本等。它能够完全支持反编译动作脚本AS3.0,并生成清晰的代码。 打开安装好的Sothink SWF Decompiler,在资源管理器面板中找到Flash...

提取Flash脚本的三款软件的使用与比较

摘要:主要分析提取flash脚本三款常用软件――硕思闪客精灵、Flash Decompiler Trillix、Action Script Viewer的使用,并比较它们提取的脚本。

关键词:硕思闪客精灵;Flash Decompiler Trillix;Action Script Viewer;脚本

中图分类号:TP391文献标识码:A文章编号:1009-3044(2011)19-4726-02

Flas是基于矢量的交互性新兴视觉媒介,集各类媒体元素、动态效果、用户交互于一体,是网络上最流行的多媒体表现形式。交互性是Flash最重要的特征,而实现交互性的核心就是脚本,可以说每一个成功的Flas都需要脚本Action Script的支持。如果我们能够将优秀Flas中的脚本提取出来充分利用,将极大地促进Flash的发展。本文将介绍以下三种软件提取Flash脚本的应用与比较:硕思闪客精灵、Flash Decompiler Trillix 和Action Script Viewer。

1 硕思闪客精灵提取Flash脚本

硕思闪客精灵Sothink SWF Decompiler软件能够反编译Flash的所有元素,包括矢量图、变形矢量图、声音、字体、文本、片段动画、按钮、脚本等。它能够完全支持反编译动作脚本AS3.0,并生成清晰的代码。

打开安装好的Sothink SWF Decompiler,在资源管理器面板中找到Flash文件所在的位置,单击资源管理器中Flash文件,则在右边的源视图中将打开该动画,同时资源面板中将显示分析的动画文件所包含的所有元素(如图1)。点击资源管理器上方的“导出FLA/FLEX”或“导出资源”则可以导出Flas的源文件或各个选中元素。我们重点分析Flash脚本的提取。

Sothink SWF Decompiler将Flas的脚本分为3类:MainMovie、sprite、button。将所有时间线上作用于关键帧和元件的脚本都放在MainMovie里面,并且脚本是按帧号排列的。sprite脚本是指所有在sprite内的脚本,同一影片剪辑里的多个脚本算作一个脚本。button脚本包括所有作用在按钮以及按钮内的脚本。所以flash的脚本数就是所有内部含有脚本的影片剪辑数加上作用于按钮或内部含有脚本的按钮数,再加上一个MainMovie脚本,时间线上的所有脚本算作一个Mainmovie脚本。

Sothink SWF Decompiler在分析Flash脚本时,将SWF6增加的DoInitAction标签定义的脚本放到其他标记里面,而没有放到动作标记里。缺失了DoInitAction标签定义的脚本就有可能使一些影片剪辑的交互性受到影响,这是我们在应用脚本时所要注意的。

2 Flash Decompiler Trillix提取Flash脚本

Flash Decompiler Trillix是从FLASH文件swf中提取所有资源的工具软件,包括:声音、图像、视频、图形、帧、画面、文本、字体、按键、图标及动作脚本。它提供免费版本,但并非开源。

Flash Decompiler Trillix界面与硕思闪客精灵类似,也是打开后,从位于左边的资源管理器面板中找到Flash文件所在的位置,双击资源管理器面板中的Flash文件,则中间的视图中打开动画,同时右边的任务面板中显示出所分析出的动画元素(如图2)。从菜单栏的Extract菜单中可以选择导出分析的动画元素。

Flash Decompiler Trillix将Flas的脚本也是分为frame、sprite和button上的脚本三类。与Sothink SWF Decompiler不同的是,Flash Decompiler Trillix不再将所有时间线上的脚本都放在一个MainMovie里面算作一个脚本了,而是直接按脚本所在的帧分布排列。这样一个帧上的脚本就算一个脚本,Flash文件的所有脚本数就是所有有时间线上有动作的关键帧数加上影片剪辑、按钮上的脚本数。

Flash Decompiler Trillix分析Flash脚本时,没有分析DoInitAction标签定义的脚本。

3 Action Script Viewer提取Flash脚本

Action Script Viewer动作脚本观察者,用来查看SWF文件内的ActionScript脚本,提取Flash文件内的所有资源。

ASV是不需要安装的软件,使用非常方便。双击打开ASV,从文件菜单的打开里选择所要反编译的Flas文件,打开swf文件。ASV将文件分析好之后,分类放在以下几个标签里:时间线、帧、字典、实例名、帧标记、脚本以及其他标签。它不能像硕思闪客精灵和Flash Decompiler Trillix那样直观地看图形、图像、字体等Flash组成元素(如图3)。在这里我们主要看脚本标签。

ASV分析好的脚本选项有:脚本类型、所在位置、帧号、实例以及脚本大小。帧的类型分为frame action、Clip action、Button action。frame action是指时间线上的脚本,Clip action是针对影片剪辑实例的脚本,而Button action是指按钮上的脚本。脚本类型结合脚本所在位置,和实例,我们可以将脚本细分为时间线上的帧脚本、时间线上的针对影片剪辑的脚本、影片剪辑时间线上的帧脚本、影片剪辑内针对影片剪辑的脚本以及按钮脚本。这样我们就可以清楚地知道脚本是针对谁的(whose),在哪儿(where),是什么(what),掌握了一个脚本的3W,就是掌握了脚本的内涵。

ASV可以反编译被FLASHINCRYPT加密过的SWF,这是硕思闪客精灵所望尘莫及的。但是对于被SWF ENCRYPT加密过的SWF文件ASV也是束手无策,只能提取SWF文件中的资源,脚本被混淆,只是一堆乱码。

利用硕思闪客精灵、Flash Decompiler Trillix和ASV三种软件提取的Flash脚本,在数量等方面会有细微的差别,但是都能够比较全面地把脚本内容提取出来。我们在使用的过程中要注意保护原作者的权益,同时对于提取的Flash脚本要去其糟粕,取其精华,创新应用,不能一味地盲目应用。

参考文献:

[1] 肖刚.Flash游戏程教程[M].北京:清华大学出版社,2009.

[2] 王斌.Flas制作教程[M].北京:清华大学出版社,2009.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文

上一篇:基于小波算法的数字水印技术对藏族数字壁画的... 下一篇:分布式环境下任务调度探讨