本文介绍巧妙去除Flash动画在线播放限制的方法和技巧。
笔者非常喜欢听任贤齐演唱的歌曲“浪花一朵朵”,在朋友家看到配有该歌曲的swf动画,里面的三国人物与剧情和歌曲的配合得非常好,整个MTV浑然一体,绝对是个经典的搞笑小品!于是急忙回家下载下来,兴冲冲地点击,却出现这样的提示:This movie can only be Viewed at www.xxxxx.com,提示该动画必须在线观看才行,可怜我那56K的小猫如何能承受得了呢!难道我们就没有办法在本地观看这类动画吗?别着急,看过本文介绍的两个方法,你就再也不会为这样的在线观看限制发愁了。
方法一、打造一个无坚不摧的Flash.exe文件
Flash动画无法在本地观看,关键是你的Flash.exe文件无法打开这样受到保护的动画,如果能简单的修改修改Flash.exe,就可以让它打开受保护的Flash动画。下面是具体的方法:用Ultraedit等十六进制文件编辑器打开受保护的Flash文件,按ALT+F3,查找如下字符串:83BD C8 F8 FF FF 00 0F 84 D5 00 00 00,将其改为: 83 BD C8 F8 FF FF 00 E9 D6 00 00 00 90,保存即可。这样导入有密码的swf文件就无需密码了!但要打开这类动画,还得修改Flash.exe文件的另外一处地方才行。
方法是运行16进制文件编辑器UltraEdit-32,点击“搜索”菜单下的“查找”选项,在出现的“查找”对话框中的“查找什么”栏中填入:85C0751B8B45EC,会找到两处结果(图2),找到后将它们都修改为:85C0EB1B8B45EC,然后保存修改结果,退出UltraEdit-32,这样你就拥有了一个无坚不摧地Flash.exe文件了!现在,无论是带有密码保护的swf文件,还是有功能限制的swf文件,都挡不住你了。运行Flash.exe,然后点击“文件”→“打开”菜单,找到你想看的swf动画,不会有任何提示就可以打开该动画,点击“控制”菜单下的“播放”,或直接按回车键就可以观看该动画!
注意:在修改Flash.exe文件前,建议您先备份该文件,免得误操作导致文件损坏。另外,以上修改方法针对中、英文Flash5.0版有效,因为我只分析了这两个版本,如果你用的不是这两个版本,则不能使用本方法。
方法二、修改swf文件本身
现在我们换个思路。既然swf文件受到保护无法直接用Flash.exe打开,那么我们能不能对这个swf文件本身动手修改一下呢?这个思路不错,应该可行!
注意:swf文件只能在线观看,主要是作者在该文件中加入了脚本语言,在文件中判断我们是否是在线观看该动画,如果不是则不打开文件,这一点和破解软件非常地相似(有比较语句也有跳转语句)。也就是说在swf文件中也有类似破解软件时我们经常提到的关键的跳转,只要能改变这个跳转的状态(有跳改为不跳,或由不跳改为跳),就可以避开它的保护。
本着这个思路,用UltraEdit-32打开开篇中提到的“浪花一朵朵”这个动画(langhuaduoduo.swf),按Alt+F3搜索:showgood.com,注意在“查找”对话框的“查找ASCII字符”选项前一定要打上“√”(图3)。
点击“下一个”按钮会找到好几处结果,其中偏移地址000062B0这一行引起了我的注意(图4)。因为在它右边显示的是“bbq movie.showgood.com indexOf bbq1 210.78.159.210 noline _root gotoAndStop”。这是一段脚本语言,非常明显,它就是检测是否在相关网站上观看该动画的关键部分,后面的gotoAndStop就相当于我们平时破解软件时的关键跳转。把gotoAndStop所对应的16进制代码都改成00就可以了。保存修改结果,运行这个swf文件试试,终于得尝所愿看到了这个精彩好看的swf动画!
如果你也碰到了和我一样的问题,不妨试试我说的方法。