横扫天下会 最高指挥官

 找回密码
 注册
查看: 2068|回复: 2

炎龙骑士团2黄金城 存档修改

[复制链接]
发表于 2013-9-28 13:51 | 显示全部楼层 |阅读模式
存档是固定0x59CB大小,读写前先都要先经过一次xor的处理。结尾0x59C7开始的4个字节是存档文件的CRC,就是把前面所有字节一个一个加起来得到的值。
我直接复制的游戏里的汇编代码来读写的,这段代码的大意如下,不保证是可运行的
void XorRead (LPBYTE FileData, int FileLen)
{
   short int xorval= 0xa5;
   short int tmp;
   for (int i= 0; i<FileLen; ++i)
   {
// add     tmp, 9014h
//        rol     tmp, 3
        xorval+= 0x9014;
        tmp= xorval;
        tmp<<= 3;
        xorval>>=(16-3);
        xorval|= tmp;
        FileData^=xorval;
   }
}

void XorSave (LPBYTE FileData, int FileLen)
{
   FileLen= FileLen- 4;
   unsigned int CRC= 0;
   for (int i= 0; i<FileLen; ++i)
   {
      CRC+= FileData;
   }
   FileLen+= 4;
   XorRead ( FileData, FileLen);
}
存档的解码后0x3b31处开始总是01000101,所以可以根据这儿判断文件是解码过的,还是编码过的。

这里是一个处理存档的小工具,把fd2.sav放到同级目录再运行,或者后面存档的文件名也可以
fd2savexor.exe "C:\Users\xpoy\Desktop\fd2save\Release\FD2.SAV"
修改存档前先运行一次,修改好了,再运行一次就可以放回游戏试验了






fd2savexor.rar (14.46 KB, 下载次数: 5)
回复

使用道具 举报

发表于 2013-9-29 15:07 | 显示全部楼层
{:6_311:} 你怎麽知道我沒事會在手機上玩玩炎龍騎士團。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-9-29 16:35 | 显示全部楼层
星月有约 发表于 2013-9-29 15:07
你怎麽知道我沒事會在手機上玩玩炎龍騎士團。

{:6_331:}

我第四关爆疯狂练级,最后一回合存档后拿不了速度羽毛和力量药水了,只好自力更生加一个给自己
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|横扫天下会 最高指挥官 ( 沪ICP备11033600号-1 )

GMT+8, 2020-2-17 04:12 , Processed in 0.019041 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表