中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 图形图象 > 网页设计 > Flash
Flash MX 编程深层次应用-复杂游戏(5)
作者:未知 时间:2005-05-27 12:12 出处:ChinaZ.com 责编:chinaitpower
              摘要:Flash MX 编程深层次应用-复杂游戏(5)
5.5 游戏作品的保护

    

讲到作品的知识产权保护问题,可以分成两个部分,一个是作品本身的保护,另一个是源代码的保护。一个好的游戏是经过程序员辛苦编程、调试后完成的,其中的源代码包含了程序员的心血,如果不经过任何的保护就示之于众的话,很多程序员都是极不情愿的。但是软件代码保护与技术的公开交流是相互矛盾的,保护措施虽然保护了程序员的利益,但是同时又降低了其他人交流学习的机会。在有些时候有人利用查看源代码工具查看源代码,然后将其核心部分进行偷梁换柱,而且说成是自己的东西。因此,保护自己具有原创性游戏的源代码是势在必行的。

还有一种情况就是在游戏中加入保护分数的加密程序,如果不保护源代码,懂Flash的人就可以轻易知道游戏是如何加密的,从而从容地修改游戏的属性值,这也有违游戏制作者的初衷。现在Flash作品的保护也是一个非常棘手的问题,很多经过艰苦制作的游戏,未经授权就被人copy出来拿到其他的商业网站进行播放,而被侵犯权利者却毫无办法。追究法律责任,好像不太值得;不追究,又觉得自己利益受到损害,真是处于两难境地。这时,一般通过技术上的加密法来解决侵权问题。

保护与不保护,孰是孰非一时难以讲清楚。那些说因为保护源代码妨碍了中国Flash进步的人大多都懒于思考,只想看看人家是怎么写的,然后原封不动地拿来用。技术上的东西,国外大把有,根本不用看中国人做的源代码。国外开放代码太多,已经足够做很长时间的研究了,他们的代码都没有加密。

现在国内可以得到的源代码查看工具主要有两种,一种叫做ActionScript Viewer(简称ASV)。目前国内可以下载到的是2.0版本,它主要可以查看Flash 5动画的源代码,可以轻松地以层次结构解开Flash。但是这个软件有一些Bug,利用这些Bug可以让它根本无法正常查看,其方法就是在想保护的程序代码前面加上0(1|0)。现在它已经出了3.0版本,但是目前只能得到Demo版本,因此也无法验证这种办法对3.0版本有没有用。另一个Flash源代码查看软件是硕思闪客精灵,软件英文名为SWF Decompiler,目前暂时还没有一种好的方法来对付这个软件。

作品保护中一个非常重要的内容就是作品播放权的保护,也就是如何让其他未授权的人不能正常播放作品。这又分成两部分,一个是在网上播放,一个是在硬盘里播放。其实要用到的内容都一样,只是通过Flash MX中提供的_url属性来控制在那儿播放。其程序如下:

if (substring(_root._url, 1, 4) == "file") {

  //如果在硬盘上播放,则不同意

    _root.stop_play._visible = true;

    prevFrame ();

} else {

    // 表示在网页中,则要求检查是不是闪客帝国的URL

             if ( substring(_root._url,1,26) !="http://www.flashempire.com ") {

             _root.stop_play._visible = true;

             prevFrame ();

    }

}

上述程序看上去好像分成两个部分。一个部分检查是不是在硬盘里播放,因为如果在硬盘里播放的话,其_root._url开始的四个字符肯定是file。而命令prevFrame ()也是非常重要的,不能用stop()语句代替,因为Flash播放器右键菜单中有一个功能是play功能,它可以播放任何由程序stop了的动画,而这里采用回退一帧的方法就是让程序往前走。如果有人试图play它,又会再次运行一次本帧的这个检查语句,然后又回退一帧,从而使动画无法继续播放!else部分是检查播放动画的地址是不是在闪客帝国的站点中,如果是,就播放,如果不是就停止播放。这段程序限制了动画仅能在闪客帝国的站点中播放,就算下载到硬盘里也无法播放!当然了,也可以设置只让它在硬盘里播放,不能在网上播放!这个就看怎么利用_url这个属性了!

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有