破解Flash的利器

Author: Date: 2001年 35期

#1?牐犕甘覨lash
  ?牐燬WF Browser是一款重量级的Flash破解利器,它会将swf文件剥皮抽筋,让你看个清清楚楚,当然还能将其为我们所用。你可以到它的大本营http://www.swifftools.com/去下载它。要特别声明的是SWF Browser安装完之后可以注册使用或不注册使用,不注册的话会少掉很多关键性的功能,我们以下的讲解都是按照注册后的版本来的。
  #2?牐?1.主要功能
  ?牐犑紫热梦颐抢词煜ひ幌耂WF Browser的界面(^35060102a^)。最上方水平的一条就是SWF Browser的主菜单,从左到右分为3个板块——文件菜单,主功能菜单,附加功能菜单。文件菜单区的两个下拉菜单File和About用处不大,前一个用来退出SWF Browser,后一个主要就是用来注册SWF Browser的。
  ?牐犞鞴δ懿说デ锏亩魇怯美床僮骺刂芐WF Browser破解swf文件的,这部分的菜单按钮不是下拉的,而是即按即见效的。其中最主要的就是Show/hide search和Directory Shortcuts,按下它们在软件界面的左侧会分别出现选择文件目录和搜索swf文件的互动窗口:上面的是按Directory Shortcuts后出现的选择文件目录窗口;下面的是按Show/hide search后出现的搜索swf文件窗口。
  ?牐牥聪陆缑嬷屑洳糠值腟tart Search按钮,稍等片刻,我们选择的目录下的所有swf文件都被列出来了(^35060102b^),当然,如果你在搜索过程中已经发现了想要破解的swf文件,只要再按一下Start Search按钮就会停止,很方便吧。
  ?牐牻樯芄酥鞴δ懿说ブ笪颐墙幼趴锤郊庸δ懿说デ饫镆灿辛礁霭磁ィ耙桓鍪怯美唇玸wf文件做成屏幕保护程序的,后一个有钥匙标志的按钮Unprotect Movie才是SWF Browser的重要附加功能。我们都知道,一些精心制作的Flash动画中有很多好的矢量图素材,只要将swf在Flash中导入就可以得到,但谁想让自己的创意成果为他人所用呢?于是很多有好的素材的swf文件都是保护输出的,不能直接在Flash中导入,Unprotect Movie按钮就是为了破解swf文件的保护而设的,也可以说是在SWF Browser中使用最简单的一项破解功能。只要选中一个设有写保护的swf文件,原本是不可用状态的Unprotect Movie按钮就被自动激活了,我们只要对着它点一下就会有个文件窗口弹出,让我们把破解了保护的swf文件存盘,然后打开Flash将新存的swf导入就可以了,和原来设有写保护的swf分毫不差。
  ?牐牽赐炅瞬说グ磁ノ颐窃倮纯纯唇缑孀钕旅娴囊惶蹩刂评赴桑╚35060102c^),从左到右也分为三个部分。
  ?牐牭谝徊糠质怯美纯刂苨wf动画的播放的,以方便我们破解时观看动画;第二部分的第一个按钮Add Favorites是用来将自己一直要用的swf文件添加到Favorites里的,其他几个按钮则是控制Flash动画的显示状况的;最后一部分只有一个按钮,是用来建立.exe可执行文件的。总体来说这条控制栏不很重要,和界面右边的swf文件状态显示窗口(^35060102d^)的作用没法比。swf文件状态显示窗口上方共有5个按钮,可以通过它们了解到swf文件的各个信息。
  ?牐燝raphics按钮不用多说肯定是用来了解swf文件中位图的情况的,选中一个swf文件后对它点一下,在swf中所有的位图文件都原形毕露了,选中一张图片后就能在下方的预览窗口中看见它的尊容,而点一下上方的Save as bitmap按钮的话就会弹出窗口让你将swf中的位图另存为.bmp文件。
  ?牐燤ovie Clips按钮(^35060102d^)是用来挑出swf文件中的电影夹组件的,其功能异常强大,不但能挑出主场景下的电影夹组件,更是能将组件内含的电影夹组件一网打尽。如果在主场景下有个电影夹组件,其中还内含另一个电影夹组件,SWF Browser就能自动列出两个独立的电影夹组件。同样选中一个电影夹组件后点上方的Save as swf就能将电影夹组件另存为一个独立的swf文件。
  ?牐燬ound Events按钮负责的是提取swf中的音乐文件,选中一段音乐后按上方的Click number to save就能将其存为一段独立的.mp3文件,用Winamp可以把mp3转为wave文件供你使用。至于Sound Events旁边的Sound Streams按钮就是用来提取声音流的。
  ?牐燬WF Internals按钮没办法将什么东西从swf文件里挖出来,但却能告诉我们整个swf文件的信息(^35060102e^),以一个树形目录来表示。在Header里从上到下分别是签字、版本号、文件大小、最小x坐标、影片的宽、最小y坐标、影片的高、启始帧、播放速度及整个swf文件一共包含多少帧等信息。
  ?牐牶昧耍饕δ芎筒僮骶徒樯艿秸饫铮旅婢腿梦颐茄∫桓鰏wf文件来个实弹演习吧。
  #2?牐?2.实际操作
  ?牐牥辞拔乃觯≡窈贸跏寄柯己蟮慊鱏tart Search找到自己要破解的swf文件,按一下控制条上的播放按钮就可以先观察一下这段动画。与此同时我们可以发现在软件右边的swf文件状态显示窗口里出现了Sound1、Sound2……Sound6等一列信息(^35060102f^),这说明我们要破解的这个swf文件里有6段声音事件,分别点选它们并用Click number to save将它们另存为.mp3文件,再用Winamp转为wave文件。
  ?牐牻衾指愣ê笪颐前匆幌聅wf文件状态显示窗口上的Movie Clips按钮,会发现该swf文件主场景下有两段电影夹组件,老规矩,将它们分别存盘。因为这段swf在输出时加了写保护,我们要点一下附加功能区里的Unprotect Movie按钮将之解锁并另存为一个swf文件。
  ?牐牷褂行┲匾畔⒈鹜丝矗慊鱏wf Internals按钮,我们就能得知该swf文件宽762,高400,每秒播放21帧,共963帧等重要信息。好了,破解告一段落,让我们打开Flash,来重组这段动画。
  ?牐牬蚩狥lash,新建一个影片,点选Modify下的Movie,将影片的宽设置为762,高设置为400,播放速度设置为每秒21帧,跟原文件一样。设置完影片属性后选择File Import,将破除了保护的swf文件导入到Flash,我们就有了一长串共963个关键帧了,和原来的那个swf文件一样长。
  ?牐犎绻愕炔患傲讼胂炔シ乓幌碌幕熬突岱⑾衷谠吹膕wf中有两个动画不动了,变成了静止的图片。那是因为电影夹组件在导入Flash后只有内含的第一帧会得到保留。
  ?牐牨鸺保辜堑梦颐乔懊嬖赟WF Browser里另存为swf的两个电影夹组件吗?看看吧,它们不正是缺少的两部分动画吗。在Flash里用Insert下的New Symbol新建两个电影夹组件,分别将另存为swf的两个电影夹组件导入到新建的两个电影夹组件里,我们这样做是为了可以让它们保持自己原来的坐标位置,如果直接在主场景中导入的话它们就会跑到左上角去了。然后我们要做的就是在主场景合适的地方新建层,将电影夹组件放进去,并参考原来的swf文件作适当的大小位置调整就可以了。现在再播放的话我们就会发现自己有了个克隆版的动画了。
  ?牐牭鹊龋股倭艘衾帧C晃侍猓灰獁ave的音乐文件在Flash中再导入就可以了,至于位置嘛,只能照着原来的swf文件大致调整了。
  ?牐牽寺“媸怯辛耍绻胄薷哪兀课医ㄒ榇蠹蚁敫牡幕熬×扛奈淖郑慊岱⑾炙械奈淖侄际嵌懒⒌淖榧牡墓ぷ髁亢苄。膊挥跋於岩欢?1000帧的英文版swf动画全改成中文版也不过是个把小时的事情。
  ?牐牷褂新榉常渴裁矗孔髡甙袴lash动画创建成了.exe文件?幸运的是已经有人想到了这点,并做出了破解的软件,下面就让我们来看看吧。
  #1?牐犉平?.exe文件
  ?牐犝饪罾髅蠸wifty Xena Pro,是一款标准的绿色软件,不安装,不写注册表,在Win98和Win2000下都工作良好,需要的朋友可以到http://buraks.com/swifty/去下载它,才100多KB。它可以把swf文件从Flash标准的exe文件、Aftershock的exe文件和Director文件中解出来。
  ?牐犘枰⒁獾募傅闶撬嶙远獬龅膕wf文件存在被破解的.exe的同一目录下;破解完后会自动生成一个.bak的备份文件;它能破解的文件格式可以通过修改type.ini文件来软升级,前提是要有足够的信息哦,笔者用的这个版本本来不能解Flash5的exe文件,但下载了新的type.ini文件后就可以了。
  ?牐犉舳疭wifty Xena Pro,下面有三个按钮分别是Extract files、Try replacing和About,后两个基本没用,点一下Extract files按钮就会弹出窗口让你选择.exe文件,选择好之后按下OK按钮就可以了,马上就会跳出一个小窗口告诉你swf文件被解出来了,再按下OK按钮就完成了,这时我们可以在Swifty Xena Pro中看到被解出来的swf文件的信息,还是个Flash5的swf呢。好了,快去.exe文件所在目录去找你的swf文件吧,运行起来和原来的exe文件一模一样的!
  #1?牐牥氩憬峁宫?
  ?牐爏wf文件里还有一个重要的结构就是层,而SWF Browser并不能把层解出来,所以就会有了Swifty Zeus这款200多KB的破解利器。我们可以到http://buraks.com/swifty/去下载它。
  ?牐犗人得饕幌拢琒wifty Zeus所做的并不是能将swf文件在Flash中导入后还保持有层结构,它所做的是将swf文件中的每一层都分别另解为一个新的swf文件,而且它不光将主场景里的层解出来,还会将组件里的层都解出来。你要做的就是在Flash中将它们分层导入,这将会使你对整个动画的结构了解得很清楚。
  ?牐牬蚩猄wifty Zeus后就会发现它的界面很简单,只有一个按钮(^35060102g^)。按下按钮后就会弹出窗口让你选择一个swf文件来破解。选一个Flash文件试试吧。按下打开后很快就会在Swifty Zeus的界面下部显示出解出了多少层swf文件。同Swifty Xena Pro一样,它会自动将新解出来的一系列swf文件存放在被破解的swf文件的同一目录下。
  #1?牐牞;袢ction Script
  ?牐牬蠹已?习Flash时感到最头痛的是什么?让前面介绍的三款破解软件都无能为力的是什么?对了,那就是Flash的Action Script。这款了不起的破解利器的名字就叫Action Script Viewer。在http://www.flashcastle.com/download/software/asv20.zip可以下载它。
  ?牐牴嗣家澹珹ction Script Viewer能让我们查看内嵌入swf文件的Action Script,当然,它能做的不只是这些,当它将Flash4或Flash5的swf文件中的Action Script反编译出来并以文本形式显示出来后,你可以将它另存为新的文件,解读它,修改它。
  ?牐燗ction Script Viewer也是个绿色软件,唯一要求的就是要安装有Shockwave Flash ActiveX以支持它对swf文件的预览显示。我们选择一个含有Action Script的swf文件打开,就有新的界面窗口出现。这个窗口叫swf窗口,如果打开多个swf文件的话就会有多个swf窗口,基本上Action Script都在这个窗口进行查看。按钮选项还是很多的哦(^35060102h^),在初始界面上则会多出Options和Utility两个下拉菜单。
  #2?牐?1.了解菜单功能
  ?牐牻酉吕慈梦颐抢纯匆豢闯跏冀缑嫔闲鲁鱿值腛ptions和Utility两个下拉菜单里都有些什么。
  ?牐犑紫仁荗ptions菜单,这里面的东西基本上是用来定制swf窗口的,因为打开多个swf文件的话就会有多个swf窗口,所以就可以分别针对每个swf窗口做不同的设置,使自己用起来更方便。
  ?牐燬how preview选项是用来设置预览窗口里是否显示组件内容的。
  ?牐燤ove origin to centre选项是要配合预览窗口来使用的,它可以将预览窗口里的显示内容往右下方移动,也就是将swf文件中的坐标??00?犚贫皆だ来翱诘闹醒耄苑奖阄颐遣榭醋笊戏降淖榧谌荨?
  ?牐燬how unmodified frames选项被激活后,所有帧的状况将都显示在swf窗口中,否则的话,就只有关键帧会被显示。
  ?牐燬how unmodified layers选项被激活后会显示每一帧中的所有的层,反之就只会显示有变化的层。
  ?牐燬how long action scripts选项一定要始终都处于被激活状态,否则的话Action Script Viewer将只反编译开头的一些Action Script,在swf窗口中你就可能没法看到完整的Action语句。
  ?牐燱ord wrap action scripts 选项没什么用,用来开关Word Wrap,基本不影响查看Action语句。
  ?牐燙olorize action scripts选项倒是个很有用的功能,激活它后在swf窗口中显示的Action Script的不同的语法部分将用不同的颜色显示,看起来是方便了很多。
  ?牐燙hange action script font选项可以允许你自己选择显示Action Script的字体,眼睛不好的朋友可以将字体调大一点。
  ?牐燣ibrary options选项只有在swf窗口处于Library标签(请参看后文对swf窗口的详解)下时才会看出作用,可以显示各种信息。
  ?牐燣oad default options选项是将当前的swf窗口恢复到软件的默认设置。而Save options as default选项则是将当前窗口的设置定为默认设置。
  ?牐燯tility下拉菜单里的选项要相对少一些,但许多重要的功能选项都在它下面哦,就让我们来看一看吧。
  ?牐燙hange background color选项是用来改变预览窗口的背景色的,不要以为这是个华而不实的功能哦!在swf文件中包含的有些内容可能是白色的或颜色很淡,我们只要将预览窗口的背景色调整得深一些就能很好地观察他们了。
  ?牐燙opy action script as text选项就是将选中的Action Script复制到剪贴板中,就相当于我们按下“Ctrl+C”的功用。
  ?牐燬ave action script as text选项就相对有用一些,它可以将当前显示的Action Script另存为一个.txt文件,以后想用可以随时打开,很方便。
  ?牐燛nable actions in preview window选项可以说是Action Script Viewer里最有用的功能之一,如果激活了它,一旦选中的组件中含有Action Script的话,这些Action语句产生的效果就会直接在预览窗口中显示出来,对于我们学习理解Action Script可是大大有用啊。
  ?牐燜orce Flash5 mode选项又是一个重要的功能,如果当前打开的swf文件是Flash5以下版本的,只要激活这个选项,该swf中的Action Script就会全部以Flash5的语法格式显示。
  ?牐燨pen selected in new window选项 是用来将某一帧,某一层,或某一组件在新的swf窗口中打开,其主要目的是用来展开组件以查看其内含的东西。
  ?牐燭race selected in this window选项 主要是用来了解swf文件中各项之间的相互关系的,如果我们选中了一个层的话,激活这个选项后Action Script Viewer就会找出和这个层有关的组件。如果选中了一个组件再使用这个选项的话,软件就会找出这个组件第一次出现的帧。
  ?牐燤ovie information选项是告诉你当前打开的swf文件的各种信息的,包括宽和高及播放速度和背景颜色等。
  #2?牐?2.详解swf窗口
  ?牐犌懊娼步饬瞬说パ∠畹淖饔茫旅婢腿梦颐抢醋邢盖魄瓶瓷先プ罡丛拥膕wf窗口。swf窗口由一系列列表、查看标签、选项快捷按钮和一个文字框组成(^35060102i^)。列表是用来显示swf文件里的各种组件和内容的;通过在Frame、Library、Instance Names、Action Scripts这四个查看标签中点击切换,我们能按各种方式查看swf文件的内容;标签快捷按钮就是我们上文解说过的菜单选项的快捷按钮;文字框则是用来显示swf文件内含的Action Script的。在swf窗口的列表中,只要在任何内容旁有一个Action图标(^35060102j^),就说明此处有Action Script存在,选中该内容后就可以在swf窗口的文字框中看见相关的Action Script消息。
  ?牐犜趕wf窗口处于Frame标签被激活的情况下时,列表上方会有排列表头(^35060102k^)。Frame下的是帧;Lable下的是帧的标识;Layer下每帧中包含的层;Symbol下就是每层对应的组件对象了;Name下的是组件对象的名字,请大家注意,这里所指的名字是Instance Name,一般来说是只有电影夹组件和变量框才会有的。如果我们要在Flash中重组swf文件的话,为了确保Action语句能运行,要将电影夹组件或变量框组件的Instance Name按照它上面显示的来取;Info下是组件对象的坐标位置;Effect下就是该组件对象的运动效果;Other Info下是一些附加的组件信息,如缩放等。
  ?牐犠蟊叩牧斜碇邢允镜哪谌菔前凑罩〉南群蟠涡虼由系较乱来闻帕械模绻〉呐员哂幸桓鲋屑涞愕牡缬敖浩急辏╚35060102l^)的话,就说明该帧是一个关键帧。选中一个帧后,该帧所含有的层将在右边的列表中被显示出来。先前我们已经说过了,在Action Script Viewer中每一层只含有一个组件对象,所以我们可以将每一个组件对象的信息了解得清清楚楚。如果在层的旁边有个白纸中间有一黑点的图标(^35060102m^),就说明该层是有变化的层(请参看前文的说明)。
  ?牐牻幼湃梦颐前裺wf窗口切换到Library标签下,在这儿,当前swf文件中的所有组件对象都会被列出来,我们会发现在Library标签下的列表也有一行列表头(^35060102n^)。重复的就不说了,新的Uses列表头下显示的是该组件对象被使用的次数(我们都知道,在Flash中组件是能被重复利用的)。如果在组件旁有一个向外化开的黑点的图标(^35060102o^),就说明在主场景中该组件至少被使用了一次,没有的话就说明该组件是被包含在其它组件里面的。
  ?牐犜偾谢坏絀nstance Name标签,在这个标签下,只有一个Instance Name的电影夹组件和变量框会被列出来。我们会发现标签头中又有了个新面孔--Location(^35060102p^),它下面显示的是该组件的详细位置,位于主场景的第几帧或位于其它组件中的第几帧。细心的朋友还会发现swf窗口下显示Action Script的文字框没了,取而代之的是一条搜索栏,可以用它对Instance Name进行查询(同样见图(^35060102p^))。
  ?牐犠詈笠桓霰昵┚褪茿ction Scripts了,在这儿当前swf文件中所有的Action Script都将被显示出来,与前几个标签有所不同的是在swf窗口的右边会多出一个大大的Save All按钮,按下它后就能将当前swf文件里所有的Action Script另存为一个.txt文件,以方便查阅和使用。