当前位置:主页>FLASH AS 编程>AS小技巧>文章内容
  • 下载特殊方式保护的SWF文件
  • 来源:fanflash's blog 作者:fanflash 2007-09-27 【
FlashAs作品发表>>我要投稿 | FlashAs讨论区>>AS论坛
Flash Media Server学习站>>www.FMScn.com

Google

今天收到了一封邮件:

买了您的FLASH组件、游戏、SWF加解密,对SWF的加密和解密产生了兴趣,在网上看见了下面这个网址 ,很想学习研究一番,如何得到这种后台输出的SWF,但没成功,希望得到您的指教 使用PHP来保护你的flash作品网址:http://www.weni.cn/index.php?play=reply&id=47这个3D的swf已经可以在此页面中可以看到,但在IE缓存中没有, 不知道如何得到它? 仅仅是为了学习、研究。

解答(www.fanflash.cn):
因为文中已经写出了这种保存方法的原理,所以解决的难度已经降低了,更何况它加载的地址是公开的.
要下载到目标SWF可以编写一个下载程序,模拟flash player向服务器提出下载请求,不过这种方法真的是很费时,另一种方法是使用flash里面已经存在的下载文件的类"FileReference",让flash把文件下载下来,下面是得到文件夹的整个过程

第一步:
首先我们要得到这个"壳"的SWF,为的是得到他的下载地址:

右击"++ 点击显示/隐藏媒体 ++",然后点击属性,就可以看到这个"壳"的地址了


第二步:
我样要得到真实SWF的地址,先把那个"壳"下载下来,然后我们可以用ASV来看看文件的真实地址.

从上面这张图可以看出,他的地址应该是:http://www.weni.cn/upload/protect_swf_with_php/index.php

第三步:
使用FLSAH下载它,下面是简单的一段代码:
import flash.net.FileReference;
var listener:Object = new Object();
listener.onProgress = function(file:FileReference, bytesLoaded:Number, bytesTotal:Number):Void {
 _root.output_txt.text += "下载载情况:" + bytesLoaded + "/" + bytesTotal + "\n";
};
listener.onComplete = function(file:FileReference):Void {
 _root.output_txt.text += "下载完成";
};
listener.onIOError = function(file:FileReference):Void {
 _root.output_txt.text += "下载出错";
};
var fileRef:FileReference = new FileReference();
fileRef.addListener(listener);
var url:String = "http://www.weni.cn/upload/protect_swf_with_php/index.php";
fileRef.download(url, "3d.swf");

这个FLA文件下载(下载后去掉.rar这个后缀):
下载文件 点击下载此文件

第四步:
用IE浏览器以"http://"方式访问这个SWF文件,在这里,我把生成的SWF文件放进我电脑IIS设置的默认网站文件夹内,然后以"http://localhost/test.swf"访问:

选择保存位置后就可以下载这个被隐藏在后面的文件了

打开被下载的3D.SWF文件:








上一篇:如果防止网页 Flash 广告被屏蔽   下一篇:让 Flash 广告具有记忆功能
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)