电子杂志模板反编译技术研究
2017-04-13庄惠阳
庄惠阳
(1.上海旅游高等专科学校,上海 201418;2.上海师范大学 旅游学院,上海 200234)
电子杂志模板反编译技术研究
庄惠阳1,2
(1.上海旅游高等专科学校,上海 201418;2.上海师范大学 旅游学院,上海 200234)
电子杂志是在继承与发展纸质杂志的基础上,借助信息技术聚合多媒体元素,实现演示并改善阅读的电子出版物。在陈述电子杂志模板可重用原理之后,指出Sothink SWF Decompiler、ZineMaker进行杂志模板反编译的方法,即主要应用Sothink SWF Decompiler软件,反编译图文模板、视频模板、录音模板的方法,以及应用ZineMaker模板制作器进行杂志模板反编译的方法。
电子杂志;反编译模板;ZineMaker
1 可重用电子杂志模板原理
电子杂志旧模板只允许替换其中的文字、图像、视频、音乐,杂志制作者所能企及的风格,只能在已有模板中寻找。如此苛刻的限制,导致制作、编辑存在难以克服的瓶颈。对于初学者而言,从零开始编程则不易;要设计既符合个人风格,又不同于旧模板的杂志,的确需要走出难、易之间的瓶颈。如何才能走出这一瓶颈?答案可在重新制作杂志模板,或在反编译杂志模板中寻找。这里所说的“反编译”,是还原杂志内“包裹”的原始数据,不修改过多的源代码,实现诸多模板的分解与组合;虽然在反编译之后,图文内容、位置上略微有所偏差,但总体而言还是一致的[1-2]。
重新制作电子杂志模板是一项另起炉灶的苦力活,对于低成本、少回报的项目而言,不值得浪费时间去折腾。反编译电子杂志模板则能节省大量时间,高效地完成一本杂志的制作。反编译电子杂志模板汲取了诸多高手的创意,在此基础上融汇个人创意,重新拼出新的模板。反编译的道路值得大多数杂志爱好者去尝试、去开拓[3-4]。
电子杂志成体系、分目录,有步骤、分层次,说明杂志模板符合可重用原理。什么是可重用原理?Robby Robson定义道:“在多种情境中,以多种方式多次使用同一资源的能力。可重用性包括开发者作为基本单位用于其工作中的能力[5]。”随着网络上驻留的资源不断丰富起来,教育技术工作者应充分挖掘其中的可重用性,为支援教师的工作助力,从而更好地服务学习者。学习者获得的好处是可以使用更多的学习资源,拥有更多的机会,寻找适合自己的学习资源。学习资源的可重用性非常具有吸引力,但却不容易被实现。本文着重以杂志模板的可重用性为例,论述如何应用电子杂志模板反编译技术,从而实现模板的可重用性。
电子杂志软件是合成软件,合成的对象涉及文字、图形、图像、视频、动画、声音等多媒体元素。无须编程的元素比较容易获取,有赖编程的元素较难获取,工程文件靠检索未必尽如己意。即使检索到工程文件,也要加以反编译。针对多媒体元素的可重用性,主要明确以下4项:①明确多媒体元素的相应关键词以及关键词组合,从而便于模糊检索与精确检索;②明确多媒体元素的文件扩展名、像素尺寸等是否符合电子杂志软件的要求,并下载所需的文件至本机硬盘上。绝对地址与相对地址网页下的多媒体元素,须依靠专门的下载工具;③明确下载的多媒体元素是否存在工程文件,否则须依靠专门的反编译工具;④明确在支援学习资源的具体任务中,所下载、反编译的多媒体元素能否被重用,否则须独立创作符合要求的多媒体元素。
2 Sothink SWF Decompiler与杂志模板反编译
拆分旧模板,需要五大软件——ZineMaker制作软件、Sothink SWF Decompiler、Flash制作软件、ZineMaker模板制作器、WinMPG转换软件。ZineMaker发挥了提取文件的作用;Sothink SWF Decompiler、Flash负责文件的修改与编辑;模板制作器负责模板的重新生成;WinMPG转换软件则让绝大多数的文件格式相互转换,以备随时调用。
2.1 反编译杂志模板流程
Sothink SWF Decompiler(硕思闪客精灵)是一款专业的Flash动画反编译软件,不仅能将SWF转换为flv,通过反编译Flash动画,把SWF文件的文字、图像、ActionScript等提取出来;还能实现以下功能——完全支持动作脚本AS 3.0、在IE和Firefox浏览器中捕捉SWF、转换包含组件的SWF为FLA文件、将FLEX项目生成的SWF文件导出为FLEX项目文件等。
企图反编译杂志模板,就必须知晓ZineMaker软件生成杂志时所借用的临时文件夹。假设预先将ZineMaker软件安装在E盘下面的程序文件夹里,那么临时文件夹的默认路径为——E:Program FilesSunbirdineMaker 2006 emp。利用Sothink SWF Decompiler反编译杂志模板的流程主要包含以下几步:
步骤1:将所要反编译的若干个模板页面(E:Program FilesSunbirdineMaker 2006 emplate里扩展名为tpf的模板页面)添加到封面模板页面下方。随后再添加一些无关主题的Flash页面,用来延长杂志的生成时间,从而保证temp临时文件夹较长时间地驻留SWF文件。
步骤2:在桌面上或任何路径下新建一个文件夹,用来转移生成杂志时所驻留的SWF文件。此时,打开temp临时文件夹。点击工具栏“生成”→“生成杂志”,并立即转到temp临时文件夹,迅速选择所驻留的SWF文件,拷贝到新建文件夹内。
步骤3:关闭生成电子杂志的页面,点击Sothink SWF Decompiler快捷方式。利用Sothink SWF Decompiler反编译软件,打开新建文件夹内的文件,将page_01.SWF……若干个模板分别打开。如图1所示,点击Export To FLA/FLEX,则转换整个模板为Flash文件;点击Export Resource,则转换所勾选的某些多媒体元素为Flash文件。
图1 利用Sothink SWF Decompiler反编译电子杂志模板
试图获取SWF文件,一般是进入安装目录,将temp文件夹拖至桌面,诀窍在于点击生成杂志后,迅速将temp文件夹拖至桌面。软件的默认安装路径是D:Program FilesSunbirdineMaker 2006,点击生成杂志,进入temp文件夹就可以看到SWF文件[6]。
2.2 反编译图文模板
反编译杂志模板,须利用Macromedia Flash或Adobe Flash CS的不同版本[7],打开Flash,新建文件。ZineMaker不支持AS 3.0,按CTRL+F3(快捷键)或按窗口-属性-属性,可直接地、方便地调用属性面板。属性面板有几个地方需要注意,其中一个是大小,这里的大小决定了做成的杂志模板大小,比如要做950×650px的内页模板,就得设置成950×650px;要做800×600px的内页模板,就得设置成800×600px。另外,将帧频设置成24,是因为适应ZineMaker的 Flash帧频是24。
运行Flash不同版本的软件,单击文件→导入→导入到舞台,然后选择、导入备好的图片。导入后,单击选择工具,点击导入的图片,然后使用快捷键Ctrl+k,打开对齐工具,选择垂直居中和水平居中。然后,在图片上点击右键,选择、转换为图形元件。图片中心就会出现一个带准心的圆点。随后,单击插入图层按钮,插入一个新的图层。
单击文字按钮,在舞台处拖一条文字框,输入文字即可。在属性处,设置文字为“动态文本”,字体为“宋体”。静态文字在模板做成后,不能加以修改,宋体和黑体等系统字体是系统自带的,虽在本地设置,移至别处,依然显示为宋体。最后,点击文件→导出→导出影片,即可导出SWF文件[8]。
Flash链接有两种方式:文字链接、按钮链接。关于文字链接,在输入一段后,选中链接的文字,链接本地文件。文字链接的类型如图片(gif、jpg、bmp等)、文字表格(doc、xls等)、网页文件(htm等)。关于按钮链接,选定一个按钮后,右键点“动作”,代码如下:
on (release) {
getURL("链接文件的地址");
}
2.3 反编译视频模板
ZineMaker没有专门的录音模板,只能利用Flash反编译其它类型的模板,再增加录音功能。如果仅制作超链接录音机可执行文件的文字,在SWF状态下可以打开,却不能在生成杂志之后打开。如果仅采纳共用库的按钮,并在脚本编辑器中输入fscommand("exec","录音机所在的文件路径"),企图用fscommand调用可执行程序,只能发布成Windows放映文件(.exe),不能加载到杂志制作软件中。在经历一番尝试之后,总算找到破解的方法。这一方法就是在电子杂志中实现录音功能所依据的3个步骤:
步骤1:插入新建元件,命名为“反编译之视频”,类型选择“影片剪辑”。Ctrl+F7打开Flash组件,如图2所示,拖放FLV Playback-Player下方的FLV Playback,到“反编译之视频”所在的舞台上。视频之所以不被直接导入,并在时间轴上播放,而采用Flash自带的FLV Playback组件,是为了在电子杂志附件里携带视频时,能够被FLV Playback组件所调用。FLV Playback组件有许多播放器皮肤可供选择,其中选用皮肤(skin)会生成相应的SWF文件(譬如SteelExternalAll.swf),该文件必须作为附加文件,添加到杂志中。
步骤2:将“反编译之视频”元件拖放到某个空置的图层上,点击视频,在属性宽、高数值上方进行命名,输入名称为“thisFLV Playback”。打开动作面板,点击该图层的任何一帧,并输入以下脚本:
thisFLVPlayback.contentPath = _root.getFLVPath("6 lip sync.flv");
6 lip sync.flv是一个视频文件(video.flv)。值得说明的是,不必额外增加一个代码层,也不必重复拷贝contentPath脚本。
图2 FLV Playback组件
步骤3:调试影片,生成SWF文件。此时,跳出两行提示出错的输出文字:“null url sent to VideoPlayer.load”。不必搭理,径直将该SWF文件导入到杂志页面上,以及将flv格式的视频文件导入到附加文件中。与此同时,会自动地形成SteelExternalAll.swf等播放器皮肤SWF文件。生成杂志后,就能脱离本机控制视频文件的播放、停止与进度了。
有时需要自定义flv播放器风格。可按照以下步骤:
步骤1:视频尽量不要直接导入并在时间轴上播放,而是采用flash8自带的FLV Playback组件,该组件有许多播放器皮肤可供选择(注意选用皮肤会生成相应的SWF文件,该文件必须作为附加文件添加进杂志),当然也可以不选择皮肤,直接自己用代码控制播放。
步骤2:FLV Playback播放的视频是用flash8格式压缩的flv视频。
步骤3:FLV Playback视频不在参数里直接连接,例如:FLV Playback命名为myFLV Playback,视频文件为同一目录下的video.flv,在主场景中myFLV Playback出现的帧上,输入如下代码:
myFLVPlayback.contentPath=_root.getFLVPath("video.flv");
最后,在zinemake左下方小窗口里,右键菜单第一个,添加附加文件,选中FLV文件和皮肤文件[9]。
2.4 反编译录音模板
ZineMaker没有专门的录音模板,只能利用Flash反编译其它类型的模板,再增加录音功能。如果仅制作超链接录音机可执行文件的文字,在SWF文件状态下可以打开,却不能在生成杂志之后打开。如果仅采纳共用库的按钮,并在脚本编辑器中输入fscommand("exec","录音机所在的文件路径"),企图用fscommand调用EXE可执行程序,也只能发布成Windows放映文件(.exe),不能加载到电子杂志制作软件中。在经历一番尝试之后,找到破解的方法,即依据以下步骤,实现录音功能:
步骤1:打开Flash软件,进入需添加录音功能的场景,在舞台上输入文本“Record”,并将文字转换为按钮元件,命名为“录音功能”。在其下方放置一个指示图标“”。
步骤2:右键依次点击开始—所有程序—附件—娱乐—录音机,查找Windows系统录音机所在的目标(T)。如图3所示,在Flash舞台上选择“录音功能”元件,打开动作面板,输入以下脚本:
图3 录音功能脚本
on (release) {
getURL("file:///C:/Windows/system32/sndrec32.exe","_blank");
}
在这里,应当把目标路径的斜杠()改为反斜杠(/)。sndrec32.exe是Windows XP自带的录音机软件。
步骤3:调试影片,生成SWF文件,并导入到杂志制作软件中。生成杂志后,点击“Record”,就能打开录音机,保存所录的声音,形成扩展名为WAV的音频文件。
3 ZineMaker模板制作器与杂志模板反编译
利用ZineMaker模板制作器,制作可重复套用的模板。ZineMaker模板制作器可把自制的SWF文件做成tpf或者tmf文件。打开模板制作器,新建模板,打开要转换的SWF文件。模板默认类型是“杂志模板”,即封面模板。设置页面大小和窗口大小,若是750×550 px的内页,就是普通的封面模板,页面大小填750×550 px,窗口大小填800×600 px。若不是封面模板,就得选择下拉列表的内页模板,无须设置参数。右边的“模板信息”处有一个缩略图选项,这个缩略图是在模板查看器和ZineMaker图片查看方式下显示。打开SWF文件,用截图工具截下来保存好,然后导入即可。在图片文字变量处,勾选须以后在ZineMaker里可以替换的元素或者变量,没有打勾的图片或者文字不会出现在ZineMaker里面。针对使用模板制作器制作启动画面的初学者,在此予以说明。
步骤1:生成的启动画面文件位于所导入的SWF源文件所在目录,扩展名为.stp,将其复制ZineMaker安装目录中的“startup”文件夹中,随后打开ZineMaker主程序的杂志设置对话框,在“启动画面”标签的“选择文件”下拉列表中,就看到刚制作的启动画面文件。
步骤2:选择制作成启动画面的SWF源文件,不要太复杂,因为ZineMaker定义的启动画面可能不支持部分脚本命令,无法实现“_parent.stop();”、“_parent.play();”。制作的启动画面一般用静态图片在ZineMaker中显示出来,如果做动画,只是在启动预览时观看,合成时会出错,即ZineMaker制作模板时提示错误“is not a valid integer value”。另外,启动界面的时间似乎也无法控制。出现这
个错误,是因为制作模板时,选择将文本呈现为HTML添加动态文本,因此要取消HTML,如图4所示,Ab字样的是文本可选的控制开关。选中Ab字样时,Ab字样周围会有一个方框,Ab字样的旁边就是HTML呈现的控制按钮,取消HTML就可以生成模板,但功能在模版制作方面比较少用。
图4 文本可选的控制开关
除了运用ZineMaker模板制作器,有些杂志制作爱好者还使用Flash吸血鬼和pkZine,将杂志内的Flash反编译出来,直接用于制作新的电子杂志。pkZine属于静态提取,已经全面超越Flash吸血鬼,能解析杂志中所有的多媒体元素。作为综合性杂志解包工具,pkZine用于解析杂志制作软件生成的EXE可执行程序,例如,ZineMaker、IE Book超级精灵、AGE Flash Packer雅致打包工具等,从杂志中提取原始的多媒体元素(扩展名为SWF、JPG等的文件)。
[1] 庄惠阳.电子杂志在课堂教学中的应用研究——以小学语文阅读课为例[D].上海:上海师范大学,2008.
[2] 万凡,牟芸芸.电子杂志设计[M].昆明:云南大学出版社,2008.
[3] 优设计.杂志创意装帧设计[M].北京:电子工业出版社,2011.
[4] [英]夏洛特·里弗斯.杂志创意装帧设计[M].郑文慧,译.北京:电子工业出版社,2011.
[5] [美]罗伯特·瑞泽,J·V·邓普西.教学设计和技术的趋势与问题[M].第2版.王为杰,译.上海:华东师范大学出版社,2008.
[6] ZineMaker模板破解超简单[EB/OL].http://hi.baidu.com/lzj1009/blog/item/90e9ebfe972171305c600846.html.
[7] 制作简单ZineMaker文字模板[EB/OL].http://www.tigerok.cn/post/ZineMaker/21.html.
[8] ZineMaker 2007杂志制作遇到的问题[EB/OL].http://wenku.baidu.com/view/58edd30df78a6529647d5319.html.
[9] 电子杂志制作教程[EB/OL].http://www.360doc.com/content/10/1119/20/4676002_70764893.shtml.
(责任编辑:孙 娟)
上海师范大学旅游学院/上海旅游高等专科学校校(院)级科研项目(KY2016-CL5)
庄惠阳(1977-),男,福建泉州人,硕士,上海旅游高等专科学校助理研究员,研究方向为交互语言学习环境中的绩效促进、电子杂志模板反编译技术、虚拟现实技术。
10.11907/rjdk.162419
TP319
A
1672-7800(2017)003-0131-04