Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->网站设计 ->Flash ->正文

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

来源:Linuxdby.com 作者:Webmaster 时间:2007-06-06 点击: [收藏] [投稿]

   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动画的路径及文件名,需要用绝对路径,可采用以下两种:
  /upimg/070606/11Q1260BCH0145N.swf
  /upimg/070606/11Q1260C22X0250J.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遭到破解软件的有效攻击,此方案即宣告破产。



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Flash 8制作烟花粒子的特效代码   下一篇:透明的flash是这样制作出来的

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号