Flash文件的破解与加密方法探秘

来源 :网络与信息 | 被引量 : 0次 | 上传用户:wc420178
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  破解和防破解必是同时存在的对立体。如同制造病毒和防范病毒一样,制造病毒的言论从不会公开出现在一些明面场合,所以每当病毒来袭,防范的一方总是措不及防。我们更希望看到的不是偷偷摸摸,而是从破解和防范中学习到实用的技术和知识。
  
  一、破解篇
  
  这里所谈的破解,包括提取swf、破解已加密及未加密的swf,即通常所说的“swf to fla”。
  
  获取swf的工具
  
  •Flash Saver - 保存网页中的swf。
  •Flash文件格式转换器(FlashChanger) - 转换未加壳的exe为swf。
  •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
  •需要一款16进制编辑工具WinHex。
  •打开含有Flash的Word文档,点击“控件工具箱”的“设计模式”按钮进入设计模式,选择Word中的Flash,复制粘贴到任意文件夹,会看到一个“片段”文件。
  •打开WinHex,将该“片段”文件拉到WinHex中,单击下拉菜单“搜索”→“查找16进制值”,搜索“465753”,在搜索到的“465753”中的“4”位置上单击右键,选择“选块开始”。
  •继续“搜索”→“查找16进制值”,搜索“3A5C”,然后按住F3,直到出现“3A5C未找到”,点击“是”,在最后搜索到的“3A5C”中“C”位置上单击右键,选择“选块结尾”。(注:少数情况可能会搜索不到“3A5C”,则改为搜索“3A”或“5C”,方法相同)。
  •在选块内任意处点击右键→编辑→复制选块→进入新文件→输入文件名 (如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版本为例,只需两步:
  •打开等待破解的swf文件(支持拖放打开),输出重建数据(File → Export Rebuild Data (JSFL)...)到某一目录下,例如:桌面\新建文件夹。
  •双击目录下的“rebuildcommand.jsfl”,系统将启动Flash重建fla文件。根据原swf文件的复杂程度,重建fla所需的时间将有所区别。
  
  破解附言
  
  破解swf,依赖的主要是现成工具,多款工具综合使用,一款不行试另一款。如果作者有意加密,视破解者自身水平,在获取swf时将遇到规模可大可小的困难,在破解时亦将不可避免地多花些许心思。如果遇到 SWF Encrypt 加密过的作品,只能对其中的AS无奈了。
  
  二、加密篇
  
  加密方法流传不少,此处只谈我所知的较为实用的方法:
  
  更改后缀,避开 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");
  }
  */
  
  }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 以上的版本。
  
  适当与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,然而此方法仍然具有一定防范效果。
  •新建一Word文档并保存。
  •在Word中依次单击下拉菜单“视图”→“工具栏”→“控件工具箱”。
  •在“控件工具箱”中点击“其他控件”,选择列表中的“Shockwave Flash Object”。
  •右键单击插入进来的Flash播放控件,选择“属性”。
  •在“属性”窗口的“Movie”栏输入Flash动画的路径及文件名,需要用绝对路径,可采用以下两种:
  file:///C:/test/test.swf
  http://www.zhugao.cn/test.swf
  •将“EmbedMovie”项设置为“True”,使Flash嵌入到Word中。“Height”和“Width”分别为Flash的高和宽。“Scale”默认为ShowAll,为缩放模式,始终显示Flash中的所有内容,如果改为NoScale则始终按1:1比例,不会缩放Flash中的内容。
  •单击控件工具箱上的“退出设计模式”按钮,在Word中即可播放Flash了。再次按下该按钮则暂停播放,进入设计模式。如当时未显示Flash,请保存退出Word,再打开该Word文档,点击“退出设计模式”按钮即可看到Flash。
  
  打包成加壳exe
  
  用Flash的默认程序打包的exe很容易转成swf,SWFKit是一款很不错的加壳打包软件,不易被还原。
  
  三、后记
  
  破解时需要多种方法或工具综合使用,加密亦然,需根据用途综合加密。
  对于网络用swf的推荐加密方案:
  更改后缀,限制在指定域名播放,分解成多个swf并用SWF Encrypt加密。
  此方案主要依赖于SWF Encrypt,重在保护作品的AS,一旦SWF Encrypt遭到破解软件的有效攻击,此方案即宣告破产。
其他文献
1 引言    随着Internet的飞速发展,基于WEB的应用系统层出不穷。在日常生活和办公环境中,我们经常需要通过网络存放文件或者共享数据,常见的FTP、E-mail、MSN/QQ等都能实现文件的传送,但是各有优缺点。其中,“Ftp”功能最为强大,但使用起来比较麻烦,通常需要安装专用客户端软件,适合大批量集中传输文件的情况;“E-mail”的传送比较方便,易使用,但是附件文件有限,适合文件小、
期刊
1 前言     为了体现MVC的设计思想,提高设计的灵活性和可扩展性,利用ASP.NET做前台的界面显示,ASP.NET 2.0高度封装常用的控件,以拖放控件的形式完成前台网页界面的设计和布局,只需简单套用这些控件即可提供Web开发人员所期待的全部功能,简化开发人员编写大量重复代码的工作。为了使前台ASP.NET与后台的JavaEE的业务逻辑进行通信,就需要通过一种机制来实现,即web Serv
期刊
1 前言  随着3G时代的来临,我国将大规模组建基于TD-SCDMA制式的第三代移动通信网络,因此研发具有我国自主知识产权的3G网络测试分析仪表,是整个TD-SCDMA网络组网运营顺利进行的基本保证, 也是整个TD-SCDMA产业化链中的必不可少的一环。由于TD-SCDMA传输网络采用高速率、多媒体业务的宽带传输技术,因此具有高速、实时、大容量的网络数据采集技术,将是整个3G网络测试分析仪实现的至
期刊
在Vista系统中,运行某个程序或者删除一些文件,系统都会弹出一个“用户账户控制”的对话框进行确认,如果按“取消”则会阻止软件的运行。这个功能虽然可以提高系统的安全性,但是也让人感觉操作上有点繁琐了,其实我们可以灵活地控制这个功能,如彻底关闭、部分关闭等,下面就来介绍一下具体的操作。     彻底关闭用户安全控制功能     按快捷键“Win键+R”来打开“运行”对话框,输入“msconfig.e
期刊
如果你处在一个选定的程序中而需要帮助,那么请按下F1。如果现在不是处在任何程序中,而是处在资源管理器或桌面,那么按下F1就会出现Windows的帮助程序。如果你正在对某个程序进行操作,而想得到Windows帮助,则需要按下Win+F1。按下Shift+F1,会出现“What's This?”的帮助信息。     F2:如果在资源管理器中选定了一个文件或文件夹,按下F2则会对这个选定的文件或文件夹重
期刊
开机按F1键,这是因为你的BIOS设置不当但也能正常引导系统,属非致命性故障,按F1是在问你是否继续。   比如:你没有安装软盘驱动器,但是在CMOS中设置了开启软驱的选项。   解决方法是:开机按Del键,进入BIOS设置,选择第一个“基本设置”,把floopy一项设置成“Disabel”(无效)就可以了。   刚开始开机时按DEL进入BIOS,按回车键进入第一项,看看里面的“Drive A”项
期刊
现在的内存容量512M-1G成了标配,怎么样充分利用大内存而不浪费呢?请接着看。   内存越大,机器越快?我想大多数人的回答都是肯定的,从256M到512M的提升是明显的,所以想当然的,从512M到1G的提升也会很明显吧。但是我用我的亲身经历告诉你,1G的内存比512M还慢,当然前提是你什么都不设置。   前几天我把我的Compaq N410c扩展到了1G的内存,2×512M pc133的SD,结
期刊
客观地说,与CPU、内存等其他部件相比,硬盘是PC中发展最慢的组件之一,在很多时候,系统性能不佳往往因为受制于硬盘性能的瓶颈。不过,随着SATA硬盘应用的日益普及,这一窘境稍有改善。与传统的IDE硬盘相比,SATA硬盘不仅更易于连接、安装,也带来了更佳的性能。   Windows vista能够很好地支持SATA硬盘,同时,还提供了进一步提高硬盘性能的途径,那便是通过启用高级性能选项。   下面介
期刊
社会变化之快,人不得不高效地运转,一句话叫“拥有高效,才拥有一切”。工作中找到好的方法,才能事半功倍。平时工作中我经常会用WPS Office办公软件制作各种表格,正好这两天工作不是很忙,赶紧就把自己使用WPS表格过程中发现的几个小技巧整理了一下,希望能帮助朋友们提高工作效率,拥有期望的一切!     技巧一:人民币大写自动转换     对于每天面对大量数据的财务人员来说,把数字格式转换成人民币大
期刊
使用过Windows Vista的朋友一定被Dreamscene技术深深地吸引,就是可以将一段视频当作背景桌面。不过Windows XP用户就无法使用Dreamscene技术,就不能直接把视频当成桌面。不过没有关系,可以使用VLC Media Player来轻松实现将视频当成桌面背景。   首先打开VLC Media Player,然后在设置中选择选项(图1),接下来视频→输出模块→DirectX
期刊