前几天刚下了将军的荣耀—太平洋战争(苹果IOS版),觉得挺好玩。作为无游戏不改的修改党,于是开始尝试修改金钱和工业数据。我用游戏修改工具对游戏的金钱和工业值进行了简单搜索,发现搜索很容易,但是如果修改却没有任何效果。
经过一段时间的探索,我发现“将荣”IOS版的金钱和工业值的真实数据是加密存放的,而用游戏数值直接搜索出来的那两个地址存放的只是显示数据,不是真实数据。事实上,只要修改了加密数据,显示数据就会自动更新。也就是说,要修改游戏的金钱和工业值,只要能找到对应的加密数据地址并修改即可。
下面是一些加密数据和显示数据(游戏数值)对应的例子:
显示数据(游戏数值) 加密数据
100 518839
212 518663
367 519100
1779 519200
经过仔细观察,我基本找到了将荣的加密算法,扼要地说,就是把游戏数据按4进制进行转化,然后再赋予转换后的4进制数每个数位不同的顺序,然后按数位从高到底重新计算再加上一个常数,就得到了加密后的数据,解密的顺序和上述算法相反。这么说估计没人看得明白。我也希望能够找到一个简单的公式把加密和解密的过程表达出来,但数学水平有限,始终没做到,目前最简单的只找到了一个递归迭代的计算机算法来完成解密和解密计算,但太复杂,不方便大家对游戏的修改。
经过一段时间的探索,我发现“将荣”IOS版的金钱和工业值的真实数据是加密存放的,而用游戏数值直接搜索出来的那两个地址存放的只是显示数据,不是真实数据。事实上,只要修改了加密数据,显示数据就会自动更新。也就是说,要修改游戏的金钱和工业值,只要能找到对应的加密数据地址并修改即可。
下面是一些加密数据和显示数据(游戏数值)对应的例子:
显示数据(游戏数值) 加密数据
100 518839
212 518663
367 519100
1779 519200
经过仔细观察,我基本找到了将荣的加密算法,扼要地说,就是把游戏数据按4进制进行转化,然后再赋予转换后的4进制数每个数位不同的顺序,然后按数位从高到底重新计算再加上一个常数,就得到了加密后的数据,解密的顺序和上述算法相反。这么说估计没人看得明白。我也希望能够找到一个简单的公式把加密和解密的过程表达出来,但数学水平有限,始终没做到,目前最简单的只找到了一个递归迭代的计算机算法来完成解密和解密计算,但太复杂,不方便大家对游戏的修改。