如何安装rpg maker xp如何加密

我要详细说明
查看: 2291|回复: 5
教你解密RPG制作大师制作的加密游戏(grss3)
阅读权限20
在线时间 小时
本帖最后由 骑着鲸鱼冲浪 于
21:40 编辑
这是人家的第一个帖子好紧张~
研究了半个多小时,很简单
1.打开RPGVXAce,建一个新游戏。
QQ截图19.png (55.7 KB, 下载次数: 1)
18:54 上传
2.打开新游戏文件夹,复制game文件
QQ截图15.png (54.24 KB, 下载次数: 0)
18:55 上传
3.打开你要解密的游戏文件夹。
4.吧复制的文件粘贴在里面,删除加密文件“game”。
QQ截图48.png (77.21 KB, 下载次数: 0)
18:59 上传
(13.44 KB, 下载次数: 0)
18:48 上传
(79.73 KB, 下载次数: 0)
18:48 上传
阅读权限20
在线时间 小时
阅读权限20
在线时间 小时
阅读权限20
在线时间 小时
阅读权限20
在线时间 小时
我顶!!!!!!!!!!
阅读权限60
在线时间 小时
感谢lz分享
Powered by4699人阅读
&&& 之前我写过一个&RGSSAD终极解包器&,可以自动猜测RM加密包的初始MagicKey,并进行解包。那个解包器缺点很多,本来一开始做的时候,有考虑加入智能猜测内部文件、抗文件名混淆等,但考虑到没有什么意义,最终没有做。而且以后也没有打算再更新。
&&& 其实不管rgssad_wx也好,catpaws也好,都是运用和RM默认读取加密资源包的相同算法来解包的。要防止这些工具解包,单单修改初始的MagicKey是还不够的。所以如果想防止被人用这些工具解包,最好的办法就是更改打包结构了。
&&& 而更改打包的结构不是不可能,但是我相信一般人不会去做那种吃力不讨好的事情。其实有一个最简单的办法,就是修改MagicKey的变形公式,同样能避免被默认算法解包。
&&& 打包的函数在地图编辑器exe里,解包的函数呢,则是在rgssxxxx.dll里。我是用OllyDBG打开的脱壳后的文件,搜索下面列的代码块。
&&& RMXP的MagicKey变形函数,在exe和dll里都各有4处(分别是加密文件名长度、加密文件名和加密文件数据&&)。变形公式大概如下:
7MagicKey *= 7
3MagicKey += 3
&&& RMVX稍微有些不同,但是结果和RMXP是一样的,估计是编译器不一样的原因。变形公式如下:
0[RB*8]MagicKey *= 8
RBMagicKey -= MagicKey
3MagicKey += 3
&&& 注:RA、RB均为通用寄存器。
&&&& 注意这些代码并不一定是挨着出现的。不过相隔的距离也不会太远。
&&& 修改好地图编辑器的4处密匙变形公式和dll里对应的4处变形公式,便拥有了你自己的打包工具和解包算法,初步防止了分析文件格式解包的工具。不过,不要忘记给你修改过的地方,用虚拟机保护软件之类的处理一下。不然被人反汇编后分析代码,就又能轻松解包了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:29746次
排名:千里之外
评论:35条
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'42726人阅读
资源分析(20)
游戏是一种神奇的程序,很多爱好者使用RpgMaker制作自己的游戏。虽然我对于游戏制作的经历不是从RpgMaker开始,但是是RpgMaker让我知道了一个RPG应有的组成元素;虽然我早已不用RpgMaker做任何东西,但是我还希望能为RpgMaker做点什么。
有些人用着盗版的Windows,网上下载的RpgMaker,商业游戏的素材,别处抄来的RGSS脚本,复刻的老游戏的剧情,最后发布的时候却加了密,的确是不厚道的做法。
本文将简单介绍RGSSAD文件的解密方法,以及更好的加密方案。
作者:leexuany(小宝)
郑重声明:本文仅供学习交流使用,不得用于商业用途。强烈鄙视伸手党和剽窃他人作品的行为。如果你为剽窃他人的脚本、素材甚至整个游戏而来,本作者谢绝你使用本文提供的任何技术和解密程序。
零、你是否应该继续阅读?
如果你愿意遵守"郑重声明"中的要求,那么你可以继续。如果你认为解密是一个禁忌的话题,那么你可以离开了。如果你认为解密工具在严重侵害你的利益,那么你应该认真地阅读全文。如果你想讨论,那么回帖是你最好的选择。如果你想更好的保护你的游戏,那么就不要公开谈论你的方法。如果你想开始阅读,那么就继续吧。
一、RGSSAD Extractor
RGSSAD Extractor的工作原理是让游戏自己解密RGSSAD文件,当游戏把资源读入内存之后,在通过脚本抓取内存。因此RGSSAD Extractor 存在两个缺点:1、它提取的并不是RGSSAD包内的原始素材。你可以在游戏里添加一张jpg格式的图片,如果不出意外RGSSAD Extractor 解出来的肯定是png格式的。虽然画面是一样的,但是对于我这样的素材完美主义者,这是决不允许的。2、它的提取速度实在是太慢了,等待的时间足以使人疯掉。
因此我们需要知道RGSSAD的格式,然后写自己的解包工具。
二、RGSSAD资源格式
开始的8字节是文件标志,用于判断是不是RGSSAD文件。然后是n个struct SubFile{&&& unsign&&& filenamesize 字节的文件名;&&& un&&& filesize 字节的文件正文;};不过所有的SubFile结构都是xor加密过的。MagicKey的初值是0xDEADCAFEMagicKey 的变换规则为 MagicKey = MagicKey * 7 + 3;其中文件名是按字节异或,filenamesize filesize 以及文件正文都是按双字异或的。
如果你还有什么细节不清楚,可以直接查阅我上传的源代码。
三、小宝的解包工具
对于不会编程的朋友,可以直接下载我编译好的版本。(使用者请严格遵守我前面的声明)
四、防范措施与加密方案
方案一:使用自己的加密/解密算法
第一种加密方案是修改RGSS102J.dll中的解密算法,然后自己把素材打包成RGSSAD格式。
此方案要求使用者对程序设计以及二进制文件的修改有一定的基础。
由于小宝现在还没有试过外挂dll这种技术,所以这里介绍一个相对简单的方法----修改MagicKey的初始值。在前面一节中,我们知道RMXP是使用0xDEADCAFE作为MagicKey的初始值,那么我们把RGSS102J.dll中的DEADCAFE修改掉,然后自己打包就可以防范那些一般的解包工具(比如我提供的那个,还有RGSSAD Extractor)。
当然,如果你觉得有必要的话,还可以给这个修改过的dll文件加一个强壳,然后随游戏发布。
方案二:混淆文件名
第二种加密思路是混淆文件名。在Windows操作系统下,有 //:*?"&&| 这9个字符是不能用作文件名的。除去//表示文件目录,我们还有7个特殊字符可用。如果在原有文件名中加入这几个本来不能用的字符,那么解包程序就会因为不能正常创建文件而提取失败。
注:此方法需要自己打包资源文件,以及修改rxdata文件,工作量比较大。
混淆不能绝对保证自己的游戏不被盗用,它的主要目的是打击盗用者的信心,让他在还没有导出全部素材的时候就已经垂头丧气,精疲力尽了。
当然对于游戏而言,无论什么样的加密方案都只是增加破解者的工作强度,而不能真正保护自己的素材不被提取,因为素材终归是要在游戏中使用的。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:259846次
积分:2982
积分:2982
排名:第12232名
原创:48篇
评论:192条
(1)(2)(1)(2)(2)(2)(3)(1)(1)(1)(1)(1)(1)(2)(3)(4)(1)(3)(3)(5)(1)(10)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'

参考资料

 

随机推荐