[Flash]Flash加密和破解大法

FLASH的破解与加密大法

转载:http://hi.baidu.com/lisa910502/blog/item/7719e306827fc97e03088166.html
一、破解篇

  这里所谈的破解,包括提取swf、破解已加密及未加密的swf,即通常所说的“swf to fla”。

  获取swf的工具:

   * Flash Saver 保存网页中的swf
   * Flash文件格式转换器(FlashChanger) 转换未加壳的exe为swf
   * Flash吸血鬼 不得已时用之。

2 flash资源的下载提取

提取范围很广,只要能看到Flash的窗口,包括加壳及未加壳的exe、网页等等。在使用 Flash吸血鬼提取swf的过程中建议不要进行其他操作,否则速度会变得极其缓慢,配置不好的机器有可能死机。这也是这款软件目前版本(v2.2)最大的一个不足之处。如果想中止程序,可以在任务管理器中结束。

  使用Temporary Internet Files(IE缓存)下载MV、SWF等资源

  偶尔会有网友问笔者关于网上 MV 如何下载,其实方法很简单,只要到 Temporary Internet Files 文件夹下就能找到想找的大部分网络资源。

  Temporary Internet Files IE 的临时文件夹。目录一般在C:\Documents and Settings\你的用户名\Local Settings\Temporary Internet Files

  使用 Temporary Internet Files 查找资源的技巧:先清空 Temporary Internet Files,然后用 IE 打开或刷新你要找的资源 (比如 MV) 所在的网页。再刷新 Temporary Internet Files 就能看到了,如果资源比较大,需要过一会,等下载完后再刷新才能看到。

  有时,部分资源会被隐藏。查看 Temporary Internet Files 的属性可以断定里面有文件,可是里面的内容却看不到。此时,用 WinRAR 压缩一下 Temporary Internet Files 就能看到了。为了不浪费时间,压缩的时候,压缩方式请选择“存储”。为了便于搜索查找,可以把压缩后的 Temporary Internet Files 解压到另一个目录下,里面的东西此时已经一目了然,分别分布在 Content.IE5 文件夹下的四个子文件夹中。

  可以将 Temporary Internet Files 移动到其他分区下,一方面可以给系统分区减负,另一方面也便于查找。移动方法如下:
Internet 选项 常规选项卡 在“Internet 临时文件”区点击“设置” 移动文件夹 选择一个分区,例如选择 D,就把 Temporary Internet Files 移到了 D 盘的根目录下。最后会提示重启,其实不是重启,是注销。记得保存当前的其他工作,按确定注销。

  从Word中提取Flash
  测试环境:WindowsXP / Office2003

3.从doc文档中提取flash、flash的破解工具

1. 需要一款16进制编辑工具WinHex
  2. 打开含有Flash的Word文档,点击“控件工具箱”的“设计模式”按钮进入设计模式,选择Word中的Flash,复制粘贴到任意文件夹,会看到一个“片段”文件。
  3. 打开WinHex,将该“片段”文件拉到WinHex中,单击下拉菜单“搜索”→“查找16进制值”,搜索“465753”,在搜索到的“465753”中的“4”位置上单击右键,选择“选块开始”。
  4. 继续“搜索”→“查找16进制值”,搜索“3A5C”,然后按住F3,直到出现“3A5C未找到”,点击“是”,在最后搜索到的“3A5C”中 “C”位置上单击右键,选择“选块结尾”。(注:少数情况可能会搜索不到“3A5C”,则改为搜索“3A”或“5C”,方法相同)。
  5. 在选块内任意处点击右键→编辑→复制选块→进入新文件→输入文件名 (如test.swf) →保存。

  常用破解工具

  谈到破解,很多朋友都会想到时下流行的闪客精灵。以下为常用的破解工具,按笔者使用的频繁程度,分别有:

  * 硕思闪客精灵(Sothink SWF Decompiler)
  * Action Script Viewer(ASV)
  * Imperator FLA(有使用者译为“罗马统治者”)
  (这是笔者最早认识的用来还原swf的工具,可惜一直在关注也没有发现2.0以上的破解版,只有1.6.9.8的破解版,这已经是3年前的版本了,只对Flash6.0以下有效。)
  * 硕思闪客之锤(Sothink SWF Quicker)

  以上四款,以Decompiler最为常用。ASV虽然强大,但在实用性方面却不如Decompiler,这应当也是为什么数年来 Decompiler能够长久风靡的原因。而ASV对付Flashincrypt加密过的swf却是轻而易举,这大大弥补了Decompiler的不足。不少网友知道用ASV来查看swf,但是不知道如何使用它来将swf还原成fla,以5.01版本为例,只需两步:

  1. 打开等待破解的swf文件(支持拖放打开),输出重建数据(File Export Rebuild Data (JSFL)…)到某一目录下,例如:桌面\新建文件夹。
  2. 双击目录下的“rebuildcommand.jsfl”,系统将启动Flash重建fla文件。根据原swf文件的复杂程度,重建fla所需的时间将有所区别。

4.flash的破解:修改后缀绕开下载工具

破解附言

  破解swf,依赖的主要是现成工具,多款工具综合使用,一款不行试另一款,如果作者有意加密,视破解者自身水平,在获取 swf时将遇到规模可大可小的困难,在破解时亦将不可避免的多花些许心思。如果遇到 SWF Encrypt 加密过的作品,只能对其中的AS无奈了。前几天听闻闪客互联的猎人兄对 SWF Encrypt 有破解之法,然而似有卖关之嫌,未见其实。

———————————————————————–

二、加密篇

  加密方法流传不少,此处只谈笔者所知的较为实用的方法:

  更改后缀,避开 Flash Saver 等下载工具

  此方法可有效避开 Flash Saver 等下载工具。使提取者不得不从缓存中查找文件,一定程度上增加了提取难度。后缀可改为 gif、jpg、txt 等等。虽然可以更改后缀,然而在插入到网页时,仍然需要以 swf 的形式插入,使用此 swf 来加载改过后缀的影片。

  限制 Flash 在指定域名/网址中播放 (Flash 防盗链)

  url = "http://www.zhugao.cn";

  /*
以下判断网址的前 20 个字符(字符数根据你的网址作相应修改),如果与"url"不一致则播放失败。注:swf 可以放在任意目录下,只要网址的前 20 个字符是正确的。
*/

  if(_url.substring(0, 20)<>url){
gotoAndStop(2);

  /*
这里可以做一些东西,例如:将发布设置中的“本地回放安全性”设为“只访问网络”,然后在这里做无数的弹窗
onEnterFrame = function(){
getURL("http://www.zhugao.cn", "_blank");
}
*/

5.flash常用加密工具

 }else{
gotoAndPlay(3); //跳到正常播放
}

  为了便于阅读,以下是没有注释的代码:

  url = "http://www.zhugao.cn";
if(_url.substring(0, 20)<>url){
gotoAndStop(2);
}else{
gotoAndPlay(3);
}

  如果要允许多个域名,可以这样写:
url = "http://www.zhugao.cn";
url2 = "http://zhugao.cn";
if((_url.substring(0, 20)==url) || (_url.substring(0, 16)==url2)){
gotoAndPlay(3);
}else{
gotoAndStop(2);
}

  注意:用此方法,设计过程中导出时的技巧:
用IE打开先打开指定目标网址,以避免在导出时频繁弹出窗口,如果无效,请将默认浏览器设置成IE,关闭导出时的player窗口即可继续编辑。有时Flash软件会因此发生错误而被强行结束,导出前请保存文档,切记!

  常用加密工具

  * SWF Encrypt
可有效防止目前流行的几乎所有破解工具对其所加密作品的AS查看。2006年10月更新为3.0.12,尽管加密后文件仍然有明显的增大(视原swf的复杂程度,增大幅度有所不同),然而令人振奋的是,已经支持放射状渐变,支持Flash8.0。加密技巧:分解 swf逐个加密,以尽量避免加密后单个文件体积庞大的问题。

  * Flashincrypt
  可轻易防止闪客精灵目前的版本对其所加密作品的AS查看,加密后的文件几乎保持原文件大小。遗憾的是不能防止 Action Script Viewer 5.0 以上的版本。

6.与JavaScript的结合

适当应用与JavaScript结合

  加密JS,从而实现间接加密swf。相关工具及例子:

  * T4nk JS混淆工具
  用于javascript的混淆加密。
  * Encrypt HTML
  加密网页脚本,包括 HTML source code, javascript, VBScript, text, links and graphics 等。
  * 从Flash到JavaScript的通讯,从JavaScript到Flash的通讯
  * 控制 Flash Player JavaScript 方法一览表:
·播放动画:Play()
  例:(网页中的 Flash id).Play();
·停止动画:StopPlay()
·动画是否正在播放:IsPlaying()
·跳转到某帧:GotoFrame(frame_number)
·获取动画总帧数:TotalFrames()
·回传当前动画所在帧数:CurrentFrame()
·使动画返回第一帧:Rewind()
·放大指定区域:SetZoomRect(left,top,right,buttom)
·改变动画大小:Zoom(percent)
·使动画在 x,y 方向上平移:Pan(x_position,y_position,unit)
·返回动画被载入的百分比:PercentLoaded()
·加载动画:LoadMovie(level_number,path)
  例:(网页中的 Flash id).LoadMovie(0, "***/***.swf");
·movie_clip 跳转到指定帧数:TGotoFrame(movie_clip,frame_number)
  例:(网页中的 Flash id).TGotoFrame("_root.实例名.次实例名",帧数);
·movie_clip 跳转到指定标签:TGotoLabel(movie_clip,label_name)
  例:(网页中的 Flash id).TGotoLabel("_root.实例名.次实例名","标签名");
·回传 movie_clip 当前帧:TCurrentFrame(movie_clip)
·回传 movie_clip 当前标签:TCurrentLabel(movie_clip)
·播放 movie_clip:TPlay(movie_clip)
·停止 movie_clip 的播放:TStopPlay(movie_clip)
·获取变量:GetVariable(variable_name)
·变量赋值:SetVariable(variable_name,value)
·call 指定帧上的 action:TCallFrame(movie_clip,frame_number)
·call 指定标签上的 action:TCallLabel(movie_clip,label)
·获取 movie_clip 的指定属性:TGetProperty(movie_clip,property)
·设置 movie_clip 的指定属性:TSetProperty(movie_clip,property,number)

7.在Word中插入flash;打包加壳成exe

在Word中插入Flash

测试环境:WindowsXP / Office2003

可用在独立文件给客户看的时候,尽管可以用前述方法从word中提取swf,然而此方法仍然具有一定防范效果。

1. 新建一Word文档并保存。
2. 在Word中依次单击下拉菜单“视图”→“工具栏”→“控件工具箱”。
3. 在“控件工具箱”中点击“其他控件”,选择列表中的“Shockwave Flash Object”。
4. 右键单击插入进来的Flash播放控件,选择“属性”。
5. 在“属性”窗口的“Movie”栏输入Flash动画的路径及文件名,需要用绝对路径,可采用以下两种:
file:///C:/test/test.swf
http://www.zhugao.cn/test.swf
6. 将“EmbedMovie”项设置为“True”,使Flash嵌入到Word中。“Height”和“Width”分别为Flash的高和宽。 “Scale”默认为ShowAll,为缩放模式,始终显示Flash中的所有内容,如果改为NoScale则始终按1:1比例,不会缩放Flash中的内容。
7. 单击控件工具箱上的“退出设计模式”按钮,在Word中即可播放Flash了。再次按下该按钮则暂停播放,进入设计模式。如当时未显示Flash,请保存退出Word,再打开该Word文档,点击“退出设计模式”按钮即可看到Flash。

打包成加壳exe

用Flash的默认程序打包的exe很容易转成swf,SWFKit是一款很不错的加壳打包软件,不易被还原。

  三、后记

破解时需要多种方法或工具综合使用,加密亦然,需根据用途综合加密。对于网络用swf的推荐加密方案:更改后缀,限制在指定域名播放,分解成多个swf并用SWF Encrypt加密。此方案主要依赖于SWF Encrypt,重在保护作品的AS,一旦SWF Encrypt遭到破解软件的有效攻击,此方案即宣告破产。 文/互联网


几款常用的FLASH
Imperator–最好的FLASH破解工具 1.0
最好的Flash破解工具之一,能将FLASH还原到99%,包括所有的元件,层,侦,As,我见过的最好的工具.

FLASH破解利器 Flash Decompiler v2.9.0.349

SWF Brower

SWF Scanner

硕思闪客精灵 (重点推荐)

Flash发展到现在已经进入MX时代了,Flash的破解软件也随着Flash版本的不断更新发展出了很多种类,我收集的Flash破解软件就不下二十种。

在没有用硕思闪客精灵之前,一般破解一个Flash要经过以下几个步骤:
一.如果是EXE文件,先要转化成SWF文件,这要用Exetoswf或者Swfextractor。
二. 如果要查看其中的Action Script代码,你又要用新的软件了,一般用Action Script Viewer。
硕思闪客精灵的使用相当简单,如果你用过SWF Brower和SWF Scanner的话一看界面就清楚了。打开一个你想破解的SWF文件,选择你需要的素材,然后点Export,选择相应的文件夹就可以了。然后你在这个文 件夹中寻找你需要的素材就可以了。
在这里我结合我使用的经验把硕思闪客精灵和当前名气最盛的SWF Brower、SWF Scanner进行比较,对硕思闪客精灵的优点和缺点做一点个人的分析。
我在Windows 2000平台下对三个软件使用做了一些比较,硕思闪客精灵版本为2001a,SWF Brower版本为2.93,SWF Scanner版本为2.0。
一.三者安装都很简单,在Win2000下能都稳定运行,截面类似,主要功能一目了然,操作性比较好。硕思闪客精灵、SWF Brower在98、me、2000和XP下都可以正常运行,SWF Scanner在XP下不能安装。
二.三者都可以只能打开SWF文件,对打包之后的EXE文件没办法打开。如果以后SWF Decompile能直接打开打包的EXE文件就方便多了。
三. SWF Brower只能打开输出时没有设保护的SWF文件,如果设了保护,就必须用Deflash处理之后才能打开,但硕思闪客精灵不需要使用Deflash处理就可以破解。
四. 三者均能打开Flash5.0及以前版本的SWF文件,对最新的Flash MX输出的6.0版本的flash文件都不能打开。
五. 硕思闪客精灵和SWF Brower都提供了Flash播放功能,但SWF Scanner没有。SWF Brower还能对SWF文件播放进行控制。SWF Dcompiler和SWF Scanner都能想资源管理器一样对电脑的文件夹进行管理,但SWF Scanner只能一次打开一个文件,不便于快速预览。
六.硕思闪客精灵能够对SWF文件里的9中对象进行提取,包括 shape,image,sound,font,text,sprite,buttom,frame。SWF Brower能提取sound events,sound streams,graphics,movies clips,swf internals。SWF Scanner能提取Actions,Sound,Images等。这里就硕思闪客精灵提取的种类最多,达到9种。
七.我们最关系的还是图片和声音的提取。对与位图,三者都能很好获得,但有时候SWF Brower不能提取得很完全,特别是对那些用Deflash处理过的SWF文件提取经常有问题。对于声音的提取,三者都是输出MP3格式的声音,但 SWF Brower提取的声音却经常因为不支持这种格式而不能直接导入Flash中。
八.硕思闪客精灵最大的特点就是能输出frame,就是能把打开的SWF文件分解成单帧的SWF文件。这有什么用处呢,当你要查看这帧里的图片时就可以直 接将生成的这帧SWF文件导入Flash就可以了,而不用将原来庞大的SWF文件整个导入。
九.硕思闪客精灵也提供矢量图输出,但输出的文件格式是gls,只能配合闪客巫师才能使用,而不能直接用Flash打开或导入,这也使我们不能方便的调用源SWF文件中的矢量图。
十. 在输出素材前SWF Brower能预览提取的位图,SWF Scanner能预览提取的声音和图片。硕思闪客精灵没有这些预览功能。
十一.硕思闪客精灵的输出操作可以一步到位,只要选取所有输出类型之后,点Export就可以了。但其他两个软件都要一个一个输入,显得要麻烦多了。
十二.硕思闪客精灵打开文件和输出文件的速度相当快,处理同样大小的SWF文件要比SWF Brower和SWF Scanner要快。
十三. SWF Brower能够做屏幕保护程序,SWF Scanner能够更改文件属性、查看Action Script(没有Action Script Viewer专业)。这些都是硕思闪客精灵所没有的功能。
十四.硕思闪客精灵是由中国人开发的,不仅有英文版而且有中文版,再也不用到处找汉化。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏