如何防止SWF文件被反编译?
作者:佚名 发布时间:2008-12-06 09:20:00
这篇文章的标题所提出的问题的答案是“不可能”。至少对我来说是不可能的。借助适当的工具,我们可以反编译任何SWF文件。所以,不要将重要的信息置于SWF文件中。SWF文件中不要包含个人的帐号或者密码。
我将简要的论述“保护”技术的历史,和他们是如何失败的,接着我将说明我们能尽的最大努力。中国古语有云,“规则只能防君子,不能仿小人”。
公开的文件格式
在讨论之前,我们先要知道,SWF的文件格式是公开的。公开的文件格式,意味着SWF文件并不是只能由Flash生成。其他公司也能制作可以在SWF播放器上播放的SWF文件。公开的文件格式意味着从什么位置获取什么信息是众所周知的,也就意味着每个字节都是众所周知的。因此,如果我有时间来一个字节一个字节的检查SWF文件,我可以了解所有的细节。
当然,对于一个2M大小的SWF文件,我没有时间来逐个字节的检查。因此,我就借助软件来完成这个工作。如果软件遇到问题,我会暂时接管这个工作,检查发生问题的字节。修正它,然后继续。所以,没有什么东西能够掩藏的住,其限制只是我的时间和我的耐性。如果反编译一个SWF文件的酬劳是数百美元的话,我想我会花上数年时间来逐个字节的读取它。
好了,以下是反编译和保护技术之间的战争历史。
防止被导入
伴随着Flash的出现,Macromedia提供给开发者一个“防止导入的口令保护”功能。如果你给SWF文件加上导入口令的话,这个SWF文件就不能被导入了(知道倒入密码除外)。SWF文件不加保护的话,其中的矢量图形可以被导入到fla文件中。这种保护没有什么用处,仅仅是假想的安全。
试想一下,你的SWF被用户的播放器来播放的,你不可能利用用户的播放器来保护你的SWF文件。因此,它是如何来保护SWF文件的呢?很简单,这种保护存在于你所买的Flash开发工具中。Flash开发工具不能导入有(导入)密码的SWF文件。没关系,对吧?我可以用十六进制编辑打开那个SWF文件,删除保护密码,从而也就移除了保护功能。
如此简单,所以忘记导入保护功能吧。
转换成放映机文件并且压缩
如果我将它转化成exe格式的放映机文件,还可以被反编译吗?答案:是的,SWF文件仍然存在其中。借助软件可以很容易的将SWF文件从exe文件中释放出来。压缩可以使SWF文件不能被十六进制编辑器读取,压缩是一种保护措施吗?压缩算法类似于zip算法,很容易被破解。
FLASM AND THE P-CODE
在flash5的时代,出现了两种流行的工具,免费的“Flasm”和商业的“ASV2.0”。Flasm就是“Flashasm”,它将SWF中的字节码解释成可理解的简短代码(p-codes)。比如“a=3”显示为pusha, 3,setVariable;SWF中的字节码是:96 08 00 00 61 00 07 03 00 00001D。如果想学习“SWF格式结构”的话,这是个非常有价值的工具。
程序员喜欢用高级语言(比如:C、C )来开发软件,但是当讲求效率的时候,他们会在其中混合使用低级的汇编语言。因此,有时候开发者会利用Flasm编写低级别的p-codes来增加效率。所以,Flasm编辑SWF中的actionscript是强有力的。你可以参考例子,了解如何利用这种技术来优化3D代码,但是怀有恶意的用户能够“编辑”SWF文件,SWF中的任何保护措施都可以不费力的移除。我们不需要知道密码就可以移除保护措施。
这儿有个通用、知名的技术来保护我们的影片不被偷窃并在其它的范围内显示。我们编辑脚本来检查_url属性,如果_url不是我们(合法)的范围,就使功能失效并显示一条“YouarethIEf”的消息。可是,借助Flasm可以很容易删除这条脚本语句。不需要1分钟便可以破解这种保护措施。
猜你喜欢
- Google广告到底是什么东东?Google Adsense是一个让各种类型的网站(包括博客)快速获得收入的方法。您只需要申请一个Googl
- 一个好的首页在内容上应该注重以下几点:1、一眼可以看出这个网站的内容类别和特点。2、不要吧常年不经常更新的内容放在首页上。3、把用户经常会看
- 话不多说,直接进入主题:作SEO的都知道外链的重要性,然而当一个新手踏入这个行业或者说进入这一领域的时候.最大的问题恐怕就在于如何取得外链,
- 运行环境:winxp+SQL2000本地本虚拟目录:D:\www.actsun.com论坛安装目录:bbs通过企业管理器生成数据库名:bbs
- 根据观察,百度在今次调整上,显然不是小范围的调整,因为已经影响了大部分的关键字排名,在我的关键字优化日志中,近百个关键字显示出几乎超过一半的
- 目前Google Earth中加入了一个非常有用的在线服务功能。气象信息,在Google Earth的互动内容中,新增了一个天气频道的map
- 一、阻断服务(Denial of Service)在探讨DDoS 之前我们需要先对 DoS 有所了解,DoS泛指黑客试图妨碍正常使用者使用网
- Godaddy空间被取消的原因只有一种,Godaddy怀疑你在盗刷别人的信用卡,出现这种情况的原因,是由于你在购买空间的时候,用户名填写不慎
- 1、2008年1月5日,百度搜索风云榜上升最快的10个词中,有6个是关于“视频”的搜索。附,080105上升最快top10:双面飞轮海、美丽
- 我是名站长,就像08上海草根大会上哪位嘉宾(忘了)一直强调自己是一名草根一样,我是名真正的站长,因为我有自己的站,并且很多人,可是我现在关注
- 在SCO的一个网卡上面绑定多个IP地址的方法在SCO Unix系统中多IP地址的设置是通过该网络接口的别名地址来实现的。具体步骤如下:(举例
- UCenter Home是Comsenz公司发布的一款SNS建站系统,目前最新版本是1.5。在UCenter Home中全局动态,就是会在站
- 要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。在Linux系统中,TCP/I
- 10月14日消息,瑞士信贷周二表示,受惠于2010年上半年对于新款服务器芯片-Nehalem的强劲需求,将有助于提高英特尔的收入。瑞士信贷因
- PR劫持应该大家都知道什么意思(不知道什么意思这个文章也就没必要看了),今天遇到一个网友说网站PR6,而首页才PR3,感觉有问题,就查看了一
- 很多人都要问,怎么提高关键词的排名,其实提高关键词的排名不是一朝一夕的事情。下面是我总结的一些方法,如果你确定把这些都做好了,那么你的排名应
- 为了满足广大企事业用户的人才招聘管理需求,动易SiteFactory™ BizIdea™ 2.5企业版特别增加了人才招聘管理模块,从发布招聘
- Windows7正式版才刚刚发布,所以现在就对其进行总结评论显然为时过早,我们只能说这款操作系统目前看来比Vista要优秀许多,而且如果你使
- 百度公司董事长兼CEO李彦宏(腾讯科技配图)腾讯科技讯(无忌)北京时间8月5日消息,据国外媒体报道,百度首席执行官李彦宏周四在接受彭博电视台
- 最近一个朋友的Blog在做301重定向的过程中遇到了一些困难。大概的情况就是,原来的Blog域名不打算做了,在新的域名上重启炉灶,重新开始写