chareen 2008-7-6 11:16 PM
Flash破解与加密综合
轉貼資料來源 : [url]http://www.zhugao.cn/[/url]
Flash破解与加密综合【精品原创】(2007-7-4更新)
上传时间:2007-1-17
更新时间:2007-1-22、2007-2-10、2007-2-27、2007-3-29、2007-5-17、2007-7-4
查看更新说明:例如,需查看 2007-2-27 的更新,请按 Ctrl+F 搜索“2007-2-27”
前言
本文将陆续更新,请以 [url]http://www.zhugao.cn/info/news_study_show.asp?id=503[/url] 为准,同时也避免网友转载时可能出现的遗漏。诚邀感兴趣的朋友一起讨论,以修正文中不足。限于篇幅,本文对破解及加密工具的使用方法不作详述,只对相关技巧进行说明。所涉及的工具大部分可以在我的网站中找到。
写此文,也了却了五个月前与 HBrO 约下的总结一篇加解密的文章。由于加密Flash一直是件比较头疼的事情,所以整理本文的初衷为侧重加密。无论是加密还是解密,都无法绝对地反映出人们的心理,加密者不一定就是心胸狭隘,解密者不一定就是市侩小人。本文只谈技术,不谈人品。
序
以下为2006年8月1日所写,今天引以为序。
也谈Flash破解与防破解
上传时间:2006-8-1
原文地址:[url]http://www.zhugao.cn/info/news_show.asp?id=211[/url]
在一些名门论坛,谈论破解之术被明文禁止甚至会招来不尽的鄙视。我一直都对这个观点有种很异样的感觉。诚然,尊重原创是一种美德。然而对于不会说话的工具而言,其本身又岂会有善恶之分?有善恶之分的,是使用这些工具的人。
因为无法控制其中的尺度,只好一尽排斥,这是中国官方乃至国际官方一惯的作风。言论自由成为人人崇尚却又时时为其所害的一面幌子。自由,也有度。
破解和防破解是必将同时存在的对立体。如同制造病毒和防范病毒一样。因为制造病毒的言论从不会公开出现在一些名门场合,所以每当病毒来袭,防范的一方总是措不及防。这是当然,世上有几名黑客会自报家门?
幸运的是,Flash 破解是一种公开的技术。然而不幸的是,这种公开的技术却被鄙视为一种下流手段。说句公道话,这里面确实有一些正人君子,可是更有一些人前一套人后一套的道貌岸然之士。这让我想起一句话:“宁做真小人,不做伪君子。”
既然如此,对于这种神奇的技术,为什么不能堂堂正正的来讨论?我们更希望看到的,不是这种偷偷摸摸,而是从破解中汲取,从防范中得到。
破解篇
这里所谈的破解,包括提取swf、破解已加密及未加密的swf,即通常所说的“swf to fla”。
获取swf的工具
● Flash Saver - 保存网页中的swf ( 下载地址 )
● Flash文件格式转换器(FlashChanger) - 转换未加壳的exe为swf ( 下载地址 )
● Flash吸血鬼 - 不得已时用之。( 下载地址 )
提取范围很广,只要能看到Flash的窗口,包括加壳及未加壳的exe、网页等等。在使用Flash吸血鬼提取swf的过程中建议不要进行其他操作,否则速度会变得极其缓慢,配置不好的机器有可能死机。这也是这款软件目前版本(v2.2)最大的一个不足之处。如果想中止程序,可以在任务管理器中结束。
2007-2-27更新:
【● Action Script Viewer - ASV是一款强大的破解工具,也是一款强大的提取工具,支持从许多文件(如word、exe等)中提取swf,用ASV打开目标文档,将弹出列表中的文件拖到任意文件夹即可。( 下载地址 )。
● Flash Capture - 发现这款操作起来比 Flash Saver 更方便。( 下载地址 )。】
使用Temporary Internet Files(IE缓存)下载MV、SWF等资源
上传时间:2006-9-20
原文地址:[url]http://www.zhugao.cn/info/news_show.asp?id=326[/url]
偶尔会有网友问我关于网上 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 InternetFiles 解压到另一个目录下,里面的东西此时已经一目了然,分别分布在 Content.IE5 文件夹下的四个子文件夹中。
可以将 Temporary Internet Files 移动到其他分区下,一方面可以给系统分区减负,另一方面也便于查找。移动方法如下:
Internet 选项 → 常规选项卡 → 在“Internet 临时文件”区点击“设置” → 移动文件夹 → 选择一个分区,例如选择D,就把 Temporary Internet Files 移到了 D盘的根目录下。最后会提示重启,其实不是重启,是注销。记得保存当前的其他工作,按确定注销。
从Word中提取Flash
测试环境:WindowsXP / Office2003
上传时间:2006-12-2
原文地址:[url]http://www.zhugao.cn/info/news_show.asp?id=443[/url]
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) →保存。
2007-2-10更新:
【用ASV打开Word文档,可直接提取里面的SWF及还原成.fla文件。如需提取Word文档中的原始SWF,用ASV打开Word文档时,将弹出列表中的文件拖到桌面或其他文件夹即可。此方法极其简便,推荐使用。感谢 Snow 兄的交流。】
常用破解工具
谈到破解,很多朋友都会想到时下流行的闪客精灵。以下为常用的破解工具,按我使用的频繁程度,分别有:
● 硕思闪客精灵(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所需的时间将有所区别。
2007-5-17更新:
【重要说明:双击目录下的“rebuildcommand.jsfl”前,请先退出 Flash 程序,否则可能出现错误,提示为:在文件 ""rebuildcommand.jsfl文件所在路径\rebuildcomman""::】
破解附言
破解swf,依赖的主要是现成工具,多款工具综合使用,一款不行试另一款,如果作者有意加密,视破解者自身水平,在获取swf时将遇到规模可大可小的困难,在破解时亦将不可避免的多花些许心思。如果遇到 SWF Encrypt 加密过的作品,只能对其中的AS无奈了。前几天听闻闪客互联的猎人兄对SWF Encrypt 有破解之法,然而似有卖关之嫌,未见其实。
加密篇
加密方法流传不少,此处只谈我所知的较为实用的方法。
更改后缀,避开 Flash Saver 等下载工具
此方法可有效避开 Flash Saver 等下载工具。使提取者不得不从缓存中查找文件,一定程度上增加了提取难度。后缀可改为gif、jpg、txt 等等。虽然可以更改后缀,然而在插入到网页时,仍然需要以 swf 的形式插入,使用此 swf 来加载改过后缀的影片。
限制 Flash 在指定域名/网址中播放 (Flash 防盗链)
上传时间:2006-8-4
原文地址:[url]http://www.zhugao.cn/info/news_show.asp?id=217[/url]
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");
}
*/
}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逐个加密,以尽量避免加密后单个文件体积庞大的问题。
2007-3-29更新:
【终于有 v4.0.1 的破解版了。感谢 深蓝兄 的破解。经测试发现,加密强度选项(Encryption)和最优化选项(optimization)不再像 v3.0.12 一样看起来不怎么起作用,设置过后的加密文件体积明显下降。】
2007-7-4更新:
【SWF Encrypt v4.0.4 汉化破解版。感谢 狐狸少爷 汉化破解。官方新闻发布称,可防止 ASV 5.25 的破解。( 下载地址 )】
● Flashincrypt ( 下载地址 )
可轻易防止闪客精灵目前的版本对其所加密作品的AS查看,加密后的文件几乎保持原文件大小。遗憾的是不能防止 Action Script Viewer 5.0 以上的版本。
适当应用与javascript结合
加密JS,从而实现间接加密swf。相关工具及例子:
● T4nk JS混淆工具
用于javascript的混淆加密。
● Encrypt HTML
加密网页脚本,包括 HTML source code, javascript, VBScript, text, links and graphics 等。
● 从Flash到JavaScript的通讯,从JavaScript到Flash的通讯
● 控制 Flash Player 的 JavaScript 方法一览表
在Word中插入Flash
测试环境:WindowsXP / Office2003
上传时间:2006-12-2
原文地址:[url]http://www.zhugao.cn/info/news_show.asp?id=443[/url]
可用在独立文件给客户看的时候,尽管可以用前述方法从word中提取swf,然而此方法仍然具有一定防范效果。
1、新建一Word文档并保存。
2、在Word中依次单击下拉菜单“视图”→“工具栏”→“控件工具箱”。
3、在“控件工具箱”中点击“其他控件”,选择列表中的“Shockwave Flash Object”。
4、右键单击插入进来的Flash播放控件,选择“属性”。
5、在“属性”窗口的“Movie”栏输入Flash动画的路径及文件名,需要用绝对路径,可采用以下两种:
file:///C:/test/test.swf
[url]http://www.zhugao.cn/test.swf[/url]
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是一款很不错的加壳打包软件,不易被还原。
下载地址(含SWFKit演示教程)
2007-1-22更新:
【可以用 UPX 和 ASProtect 等压缩加壳工具对 Flash 的默认程序打包的 EXE 进行操作,然而仍然可以用FlashChanger 轻易还原。而用 SWFKit 打包的 EXE 才是更安全的, FlashChanger奈何不了它。此次测试还发现,UPX 对 EXE 的压缩功能很强,压缩比率可达 50% - 70% ,建议用 SWFKit 打包后再用 UPX等压缩加壳工具对其进行操作。( UPX下载地址 )。】
附:SWFkit拖动exe窗口的方法
此方法与本文所述加解密无关,仅作为使用SWFKit的附加参考。
后记
破解时需要多种方法或工具综合使用,加密亦然,需根据用途综合加密。
● 对于网络用swf的推荐加密方案:
更改后缀,限制在指定域名播放,分解成多个swf并用SWF Encrypt加密。
此方案主要依赖于SWF Encrypt,重在保护作品的AS,一旦SWF Encrypt遭到破解软件的有效攻击,此方案即宣告破产。
附:加密案例:Family Player (请使用IE浏览)
***************