| 赞 | 0  | 
 
| VIP | 50 | 
 
| 好人卡 | 1 | 
 
| 积分 | 1 | 
 
| 经验 | 3895 | 
 
| 最后登录 | 2024-5-1 | 
 
| 在线时间 | 24 小时 | 
 
 
 
 
 
Lv1.梦旅人  
	- 梦石
 - 0 
 
        - 星屑
 - 89 
 
        - 在线时间
 - 24 小时
 
        - 注册时间
 - 2006-5-27
 
        - 帖子
 - 11425
 
 
  
 
 | 
	
 本帖最后由 凌辰 于 2009-7-31 11:14 编辑  
以下引用tommay于2009-3-21 12:31:36的发言: 
文件—压缩游戏数据—确定(勾选生成加密档案文件)   
说实话RM的加密很脆弱…… 
 
·方案一:使用自己的加密算法 
第一种加密方案是修改RGSS102J.dll中的解密算法,然后自己把素材打包成RGSSAD格式。 
此方案要求使用者对程序设计以及二进制文件的修改有一定的基础。 
由于我现在还没有试过外挂dll这种技术,所以这里介绍一个相对简单的方法——修改MagicKey的初始值。RMXP是使用0xDEADCAFE作为MagicKey的初始值,那么我们把RGSS102J.dll中的DEADCAFE修改掉,然后自己打包就可以防范那些一般的解包工具。 
当然,如果你觉得有必要的话,还可以给这个修改过的dll文件加一个强壳,然后随游戏发布。 
虽然安全系数不高,但足以应对全自动的提取工具。我写了一个程序来自动修改MagicKey,并打包资源文件,我给它起名叫"纸老虎"。下载网页http://www.uushare.com/user/lingchen/file/1333250。 
难度指数:★★ 
安全指数:★☆ 
 
·方案二:混淆文件名 
第二种加密思路是混淆文件名。在Windows操作系统下,有 \/:*?"<>| 这9个字符是不能用作文件名的。除去\/表示文件目录,我们还有7个特殊字符可用。如果在原有文件名中加入这几个本来不能用的字符,那么解包程序就会因为不能正常创建文件而提取失败。 
注:此方法需要自己打包资源文件,以及修改rxdata文件,工作量比较大。 
混淆不能绝对保证自己的游戏不被盗用,它的主要目的是打击盗用者的信心,让他在还没有导出全部素材的时候就已经垂头丧气,精疲力尽了。 
难度指数:★★★★ 
安全指数:★★☆ 
 
·方案三 将整个游戏打包成一个可执行程序 
这个方法很多人都在用,而且可用的工具比较多,与MoleBox类似的工具都可以做到。 
难度指数:★★ 
安全指数:★★★ 
 
·方案四 给游戏加一个特殊的"壳" 
此方法与方案三类似,并且与传统概念上给程序加壳有所不同。这里所说的"壳"更类似用一个定做的程序给游戏当作中介,它通过HookApi或者别的什么方法接管游戏读写文件的操作。因为是完全接管,所以资源使用什么格式完全是由使用者决定的。此方法需要比较深的编程功底。 
难度指数:★★★★ 
安全指数:★★★☆ 
 
·方案五 自制RGSS解释器 
这是所有方案中最有效的方案,但是如果真的要自制一个RGSS解释器有两个主要的障碍, 
1、RMXP使用的文件格式 
2、编写RGSS脚本的解释器 
很显然,障碍一要比障碍二简单的多,但同样是一个庞大的工程。(如果有RMXP的源代码的话另当别论) 
难度指数:★★★★★ 
安全指数:★★★★★ 
 
对于游戏而言,无论什么样的加密方案都只是增加破解者的工作强度,而不能真正保护自己的素材不被提取,因为素材终归是要在游戏中使用的。  系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~ |   
 
 
 
 |