修改RPG Maker的加密包和解密包函数

本文介绍了如何通过修改RPG Maker的加密包和解密包函数来提高资源包的安全性,包括改变MagicKey的变形公式以防止默认算法解包。通过在地图编辑器EXE和rgssxxxx.dll中修改特定代码块,创建自己的打包和解包工具,从而初步抵御现有解包工具。同时提醒,需使用虚拟机保护软件处理修改过的代码以增加反汇编分析的难度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    之前我写过一个“RGSSAD终极解包器”,可以自动猜测RM加密包的初始MagicKey,并进行解包。那个解包器缺点很多,本来一开始做的时候,有考虑加入智能猜测内部文件、抗文件名混淆等,但考虑到没有什么意义,最终没有做。而且以后也没有打算再更新。

 

    其实不管rgssad_wx也好,catpaws也好,都是运用和RM默认读取加密资源包的相同算法来解包的。要防止这些工具解包,单单修改初始的MagicKey是还不够的。所以如果想防止被人用这些工具解包,最好的办法就是更改打包结构了。

 

    而更改打包的结构不是不可能,但是我相信一般人不会去做那种吃力不讨好的事情。其实有一个最简单的办法,就是修改MagicKey的变形公式,同样能避免被默认算法解包。

 

    打包的函数在地图编辑器exe里,解包的函数呢,则是在rgssxxxx.dll里。我是用OllyDBG打开的脱壳后的文件,搜索下面列的代码块。

 

 

    RMXP的MagicKey变形函数,在exe和dll里都各有4处(分别是加密文件名长度、加密文件名和加密文件数据……)。变形公式大概如下:

 

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值