前往顾页

Flash加密与解密 根本教程

时候:2012-06-17 00:26来源:知行网www.zhixing123.cn 编辑:麦田守望者

一、破解篇

这里所谈的破解,包含提取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无法了。前几天听闻闪客互联的猎人兄对 SWF Encrypt 有破解之法,但是似有卖关之嫌,未见其实。



2、加密篇

加密体例传播很多,此处只谈我所知的较为合用的体例:

变动后缀,避开 Flash Saver 等下载东西

此体例可有效避开 Flash Saver 等下载东西。使提取者不克不及不从缓存中查找文件,必然程度上增加了提取难度。后缀可改成 gif、jpg、txt 等等。固然可以变动后缀,但是在拔出到网页时,仍然需求以 swf 的情势拔出,利用此 swf 来加载改过后缀的影片。

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



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



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)

------分开线----------------------------
标签(Tag):FLASH FLASH实例教程 flash技能 flash源代码 flash根本教程
------分开线----------------------------
保举内容
猜你感兴趣