学院首页 新闻频道 学院概况 网络学院 院系设置 师资介绍 教学成果 招生就业 实践基地 校园文化 视频 论坛
  ◎    网络学院首页
  ◎    影视动画
  ◎    动漫设计
  ◎    影视广告
  ◎    视觉传达
  ◎    环境艺术
  ◎    人物形象
  ◎    电脑艺术
  ◎    电视摄像
  ◎    电视制作
  ◎    多媒体
  ◎    摄影专业
  ◎    播音主持
  ◎    影视表演
  ◎    新闻采编
  ◎    编导专业
  ◎    电视网络
  ◎    电视制片
  ◎    师生交流
  ◎    意见采纳
  ◎    我要投稿
 
 
    您认为网络学院那些栏目仍然需要加强?
专业新闻
理念论文
软件教程
作品赏析
专业资源

  
    您最想了解哪一类型的专业知识?
理念文献
软件教程
素材资源
作品赏析

  



如何防止SWF文件被反编译?
作者:佚名    文章来源:http://www.yy0736.com/    点击数:    更新时间:2006-6-22

function -3(-4){trace(-4);}
function -1(0,-2){
if(0<-2){-3(1);}
}

肯定的是,偷窃者不能仅仅是拷贝、粘贴就能使用这些代码。编译器不允许你对一个函数进行这样的命名。

混淆器的局限是改变函数的名字可能给下面的脚本代码带来麻烦。

function myFun(){trace("myFun");}
a="my";
b="Fun";
this[a+b]();

另一个技术是使函数的名字不可显示。比如,用汉字作为函数名,反编译器可能就会不能很好的显示它。然后,我们便会看到:
function ?(){?,?){?.?=?;}
ASV 4使用unicode编码显示不可显示字符,所以,结果是易读的,只不过增加了点轻微的难度。

自我保护

如果你找到一个很好的方法来保护自己的SWF不备反编译,不要与别人分享这个方法,至少不要再因特网上公开它。当然,它不能过100%的防反编译,至少对我来说是这样。但是,不是所有的人都对SWF的格式了如指掌。许多,偷窃者仅仅只会借助软件来反编译SWF。因此,如果你的目的是尽可能少的偷窃者能够偷窃你的SWF,那么请保护好你的(白虎SWF的)秘密方法。

只是在此提醒你,你的SWF是无保护的。对于熟悉SWF格式的人来说,所有东西都是毫无遮掩的。如果你的目标只是保护“一些函数”的话,它应该是安全的。他们未必会窃取你的函数,他们会编写自己的函数。

通用保护措施

我们在网站上放了个联机游戏,不幸的是,许多访问者只是访问我们的站点仅仅一次而已,然后利用下载的版本来离线玩。有时,我们甚至发现我们的游戏出现在其他的站点上。

为了避免这种情况发生,下面是可采取的保护措施:

1. 所属领域检查

编写脚本检查_url,如果_url是"http://www.myDomain.net/game.SWF"就播放影片,否则不播放或者退出。当离线播放的时候,_url应该像"file://C| someSub/game.SWF";但它在其它domain中时,_url就形如"http://www.others.net/game.SWF"。因此,这个技术可以恰当的加上一些保护。当然,对于心存不良的反编译者来说是无用的。那些脚本可以借助Flasm来删除或者修改为不检查。尽管在其它公开场合未必能看到被破解的SWF文件,但是离线也能够播放的SWF就可能发生上述情况。

2. 服务端口令验证

编写脚本,并且在开始游戏时从服务端加载密码。如果密码为空,则停止游戏或者退出游戏。这很容易被怀有恶意的用户破解,他们只要编辑SWF文件,将那些脚本删除即可。哪些脚本不可以被删除呢?当开始游戏时,从服务端加载的地图数据是进行游戏必须的,所以心存不良的用户不可能删除这些脚本。为了进行游戏,它必须提供这些地图数据。当然,它可以从缓存在临时文件夹中的数据中挑选地图数据,提供给SWF,从而激活游戏。

3.将SWF或者变量置于服务端

这是第二种技术的扩展、延伸,该技术已经广泛的使用着。起初的游戏(SWF)文件只是个装载器,当单击播放(或开始)按钮后,将加载另一个SWF文件。当需要地图文件的时候,便从服务端加载地图数据。当加载数据遇到阻碍时,将从服务段再次加载受到阻碍的SWF文件。新层上的数据也是从服务端传过来。

从这儿。我们可以看到一个原则:防止反编译的最好方法是“不给”。

如果一些愚蠢的窃贼只下载game.SWF文件,他不可能玩这个游戏。 他需要在缓存中挑选出所有的SWF文件和变量。打开所有的SWF文件,编辑这些变量的名字,使它与缓存中的变量的名字一致。

如果我们的地图由CGI随机产生,那么窃贼只可能拥有一份地图,他没有随机产生地图的权力。如果是个迷宫游戏的话,充其量,他只能玩一个迷宫,他没有“动态产生迷宫”的功能。如果心存不良的用户玩这个游戏将碰到一个新的阻碍,因为在他的缓存中没有这个新的受到阻碍的SWF文件,所以将无法进行游戏。

因此,许多算法和功能都放在服务端,那个SWF文件只是个界面而已。这是个完美的保护措施,但是缺陷是这件产生一个转为游戏工作的CGI,而不是Flash。我们正在讨论关于SWF的保护问题,这个解决方案是不妥当的,因为SWF文件自身得不到保护。

上一页  [1] [2] [3] 

文章录入:李晋静    责任编辑:李晋静 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
      相 关 文 章
    浅谈如何更好的在现代图形设计中运用汉字
    学李英爱如何打造透明肌肤
    如何拍一张好照片
    如何知道相片是什么相机拍的?
    Photoshop中如何计算选区面积大小
    如何表现人物的“相貌”?
    国画如何分类?
    如何使用摄像机清洁带
    日本动漫是如何吸引青少年的
    Premiere中如何定制VCD的项目设置
     
    最新热门图片  

    网页色彩的情感表现

    网站的色彩表现

    Photoshop:超强抠图合…

    网站的色彩信息量
    最 新 热 门
    最 新 推 荐
    关于我们 广告服务 法律声明 联系方式 常见问题 中国生活网 留言 论坛 帮助
    广播电影电视管理干部学院版权所有 Copyright 2001-2006 ARFT.net All Rights Reserved
    感谢动易网络科技有限公司友情提供技术支持,山西艺龙影视信息中心(有限公司)运营