flash加密:谈Flash的破解和加密大战

  在些名门论坛谈论破解的术被明文禁止甚至会招来不尽鄙视笔者直都对这个观点有种很异样感觉诚然尊重原创是种美德然而对于不会说话工具而言其本身又岂会有善恶的分?有善恶的分是使用这些工具

  无法控制其中尺度只好尽排斥这是中国官方乃至国际官方作风言论自由成为人人崇尚却又时时为其所害面幌子自由也有度

  破解和防破解是必将同时存在对立体如同制造病毒和防范病毒制造病毒言论从不会公开出现在些名门场合所以每当病毒来袭防范方总是措不及防这是当然世上有几名黑客会自报家门?

  幸运Flash 破解是种公开技术然而不幸这种公开技术却被鄙视为种下流手段说句公道话这里面确实有些正人君子可是更有些人前套人后道貌岸然的士这让笔者想起句话:“宁做真小心不做伪君子

  既然如此对于这种神奇技术为什么不能堂堂正正来讨论?我们更希望看到不是这种偷偷摸摸而是从破解中汲取从防范中得到

  、破解篇

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

  获取swf工具:

  * Flash Saver - 保存网页中swf

  * Flash文件格式转换器(FlashChanger) - 转换未加壳exe为swf

  * Flash吸血鬼 - 不得已时用的

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

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

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

  Temporary Internet Files 是 IE 临时文件夹目录般在C:Documents and Settings你用户名Local SettingsTemporary 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 文件夹下 4个子文件夹中

  可以将 Temporary Internet Files 移动到其他分区下方面可以给系统分区减负方面也便于查找移动思路方法如下:

  Internet 选项 → 常规选项卡 → 在“Internet 临时文件”区点击“设置” → 移动文件夹 → 选择个分区例如选择 D就把 Temporary Internet Files 移到了 D 盘根目录下最后会提示重启其实不是重启是注销记得保存当前其他工作按确定注销

  从Word中提取Flash

  测试环境:WindowsXP / Office2003

  1. 需要款16进制编辑工具WinHex

  2.打开含有FlashWord文档点击“Control控件工具箱”“设计模式”按钮进入设计模式选择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)

  以上 4款以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所需时间将有所区别

  破解附言

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

   2、加密篇

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

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

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

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

  url = "http://www.zhugao.cn";
  /*
以下判断网址前 20 个(数根据你网址作相应修改)如果和"url"不致则播放失败注:swf 可以放在任意目录下只要网址前 20 个是正确
*/
  (_url.sub(0, 20)<>url){
gotoAndStop(2);
  /*
这里可以做些东西例如:将发布设置中“本地回放安全性”设为“只访问网络”然后在这里做无数弹窗
onEnterFrame = function{
getURL("http://www.zhugao.cn", "_blank");
}
*/
  }{ gotoAndPlay(3); //跳到正常播放
}
  为了便于阅读以下是没有注释代码:

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

url = "http://www.zhugao.cn";
url2 = "http://zhugao.cn";
((_url.sub(0, 20)url) || (_url.sub(0, 16)url2)){
gotoAndPlay(3);
}{
gotoAndStop(2);
}
  注意:用此思路方法设计过程中导出时窍门技巧:

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

  常用加密工具

  * SWF Encrypt

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

  * 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 思路方法览表:

  ·播放动画: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)

  在Word中插入Flash

  测试环境:WindowsXP / Office2003

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

   1. 新建Word文档并保存

   2. 在Word中依次单击下拉菜单“视图”→“工具栏”→“Control控件工具箱”

   3. 在“Control控件工具箱”中点击“其他Control控件”选择列表中“Shockwave Flash Object”

   4. 右键单击插入进来Flash播放Control控件选择“属性”

   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. 单击Control控件工具箱上“退出设计模式”按钮在Word中即可播放Flash了再次按下该按钮则暂停播放进入设计模式如当时未显示Flash请保存退出Word再打开该Word文档点击“退出设计模式”按钮即可看到Flash



  打包成加壳exe

  用Flash默认打包exe很容易转成swfSWFKit是款很不错加壳打包软件Software不易被还原

   3、后记

  破解时需要多种思路方法或工具综合使用加密亦然需根据用途综合加密

  对于网络用swf推荐加密方案:更改后缀限制在指定域名播放分解成多个swf并用SWF Encrypt加密此方案主要依赖于SWF Encrypt重在保护作品AS旦SWF Encrypt遭到破解软件Software有效攻击此方案即宣告破产



Tags:  flash加密

延伸阅读

最新评论

发表评论