Flash文件的加密与破解技术详细解析
破解和防破解是必是同时存在的对立体。如同制造病毒和防范病毒一样,制造病毒的言论从不会公开出现在一些名门场合,所以每当病毒来袭,防范的一方总是措不及防。我们更希望看到的不是偷偷摸摸,而是从破解和防范中学习到实用的技术和知识。
一、破解篇
这里所谈的破解,包括提取swf、破解已加密及未加密的swf,即通常所说的“swftofla”。
获取swf的工具
·FlashSaver-保存网页中的swf
·Flash文件格式转换器(FlashChanger)-转换未加壳的exe为swf
·Flash吸血鬼-不得已时用之。
提取范围很广,只要能看到Flash的窗口,包括加壳及未加壳的exe、网页等等。在使用Flash吸血鬼提取swf的过程中建议不要进行其他操作,否则速度会变得极其缓慢,配置不好的机器有可能死机。这也是这款软件目前版本(v2.2)最大的一个不足之处。如果想中止程序,可以在任务管理器中结束。
使用TemporaryInternetFiles(IE缓存)下载MV、SWF等资源
偶尔会有网友问我关于网上MV如何下载,其实方法很简单,只要到TemporaryInternetFiles文件夹下就能找到想找的大部分网络资源。
TemporaryInternetFiles是IE的临时文件夹。目录一般在C:\DocumentsandSettings\你的用户名\LocalSettings\TemporaryInternetFiles
使用TemporaryInternetFiles查找资源的技巧:先清空TemporaryInternetFiles,然后用IE打开或刷新你要找的资源(比如MV)所在的网页。再刷新TemporaryInternetFiles就能看到了,如果资源比较大,需要过一会,等下载完后再刷新才能看到。
有时,部分资源会被隐藏。查看TemporaryInternetFiles的属性可以断定里面有文件,可是里面的内容却看不到。此时,用WinRAR压缩一下TemporaryInternetFiles就能看到了。为了不浪费时间,压缩的时候,压缩方式请选择“存储”。为了便于搜索查找,可以把压缩后的TemporaryInternetFiles解压到另一个目录下,里面的东西此时已经一目了然,分别分布在Content.IE5文件夹下的四个子文件夹中。
可以将TemporaryInternetFiles移动到其他分区下,一方面可以给系统分区减负,另一方面也便于查找。移动方法如下:
Internet选项→常规选项卡→在“Internet临时文件”区点击“设置”→移动文件夹→选择一个分区,例如选择D,就把TemporaryInternetFiles移到了D盘的根目录下。最后会提示重启,其实不是重启,是注销。记得保存当前的其他工作,按确定注销。
从Word中提取Flash
测试环境:WindowsXP/Office2003
·需要一款16进制编辑工具WinHex
·打开含有Flash的Word文档,点击“控件工具箱”的“设计模式”按钮进入设计模式,选择Word中的Flash,复制粘贴到任意文件夹,会看到一个“片段”文件。
·打开WinHex,将该“片段”文件拉到WinHex中,单击下拉菜单“搜索”→“查找16进制值”,搜索“465753”,在搜索到的“465753”中的“4”位置上单击右键,选择“选块开始”。
·继续“搜索”→“查找16进制值”,搜索“3A5C”,然后按住F3,直到出现“3A5C未找到”,点击“是”,在最后搜索到的“3A5C”中“C”位置上单击右键,选择“选块结尾”。(注:少数情况可能会搜索不到“3A5C”,则改为搜索“3A”或“5C”,方法相同)。
·在选块内任意处点击右键→编辑→复制选块→进入新文件→输入文件名(如test.swf)→保存。
常用破解工具
谈到破解,很多朋友都会想到时下流行的闪客精灵。以下为常用的破解工具,按我使用的频繁程度,分别有:
·硕思闪客精灵(SothinkSWFDecompiler)
·ActionScriptViewer(ASV)
·ImperatorFLA(有使用者译为“罗马统治者”)
这是我最早认识的用来还原swf的工具,可惜一直在关注也没有发现2.0以上的破解版,只有1.6.9.8的破解版,这已经是3年前的版本了,只对Flash6.0以下有效。)
·硕思闪客之锤(SothinkSWFQuicker)
以上四款,以Decompiler最为常用。ASV虽然强大,但在实用性方面却不如Decompiler,这应当也是为什么数年来Decompiler能够长久风靡的原因。而ASV对付Flashincrypt加密过的swf却是轻而易举,这大大弥补了Decompiler的不足。
不少网友知道用ASV来查看swf,但是不知道如何使用它来将swf还原成fla,以5.01版本为例,只需两步:
·打开等待破解的swf文件(支持拖放打开),输出重建数据(File→ExportRebuildData(JSFL)...)到某一目录下,例如:桌面\新建文件夹。
·双击目录下的“rebuildcommand.jsfl”,系统将启动Flash重建fla文件。根据原swf文件的复杂程度,重建fla所需的时间将有所区别。
破解附言
破解swf,依赖的主要是现成工具,多款工具综合使用,一款不行试另一款,如果作者有意加密,视破解者自身水平,在获取swf时将遇到规模可大可小的困难,在破解时亦将不可避免的多花些许心思。如果遇到SWFEncrypt加密过的作品,只能对其中的AS无奈了。