【教程】winhex编辑不同语言版本存档之进阶篇
gba吧
全部回复
仅看楼主
level 10
eatdogmeat 楼主
本文是对【教程】(正版向)用winhex编辑存档以适用同一语言不同版本 https://tieba.baidu.com/p/6684048500 一文的进阶补充,起因是在用该方法修改洛克人zero系列的存档时,发现要比原贴中用于举例的马里奥a1复杂的多,涉及到多处版本标记、游戏中存档至少一次才能在存档文件中写入版本标记等问题,所以觉得有必要再开一贴进行进阶说明,那么话不多说马上开始
2022年02月25日 04点02分 1
level 10
eatdogmeat 楼主
洛克人zero系列是gba平台上最优秀的act系列之一,对于有正版强迫症的我来说入正是必须的,但本人动作苦手,靠自己打出S评价是不可能的,所以只能借助网上现成的全收集、全S评价存档,导入到正卡当中
问题是网上这类存档只能下到美版的,而我的正卡是日版,导入之后发现从z3开始,美版和日版的存档又不通用!遂只能搬出winhex,给他来个如法炮制!
2022年02月25日 04点02分 2
level 10
eatdogmeat 楼主
按照惯例,用vba模拟器对洛克人z3的美版、日版游戏在无存档状态下分别运行,得到各自空存档后用winhex打开比对,很快找出了版本标记的不同之处,也就是这一段红线字段,以“49 4E”开头,“06”结尾,而两版的不同之处在于红圈内,美版是“0C”,日版是“0B”
2022年02月25日 04点02分 3
level 10
eatdogmeat 楼主
找到版本标记的区别后,打开网上下载的洛克人z3美版全收集存档,找到相应字块,将“0C”修改为“0B”
如果是马里奥,这样修改完成后就可以应用于日版了,可是到了洛克人这里却发现不行,日版游戏还是不认这个存档[汗]
2022年02月25日 04点02分 4
level 10
eatdogmeat 楼主
对这个全收集存档文件进行检查,发现问题出在如下:版本标记存在于存档文件的多个位置,只修改一处是不行的!而且这多处的版本标记并非在一开始的空存档中就都存在,而是在游戏流程中每储存一个栏位,或开启一项隐藏要素(如迷你游戏等),相应的才有一个版本标记被写入到存档文件里!这什么麻烦精的机制啊,游戏开发人员难道没考虑过我们作弊党的需求么[滑稽]
好在经过反复比对,发现即使版本标记有多个,但数值特征都是一样的:均是以“49 4E”开头,“06”结尾,“06”前的一个字块为美日版本区分,美版0C,日版0B
既然特征都一样,挨个找到并修改应该就OK了,使用winhex的搜索功能,查找特征最明显的“49 4E”两个字块,每找到一处如果发现下一行处有“0C 06”,那就是版本标记无疑了,注意中间的数值可能是有区别的,不用一一对上,只要开头有49 4E,结尾有0C 06即可
好家伙,我找到了12处之多!将所有的0C都改为0B,保存后应用于日版游戏,当当当当!奇迹出现

2022年02月25日 04点02分 5
level 10
eatdogmeat 楼主
解决了z3之后接下来就是z4,发现z4比z3还要麻烦精!如果只用模拟器运行一下rom的话,得到的存档文件里是没有任何数值的,名副其实的“空”存档[怒]
也就是说,所有的版本标记都需要在游戏流程中保存至少一次才会被写入到存档文件里,没办法,只好将美日两版各打过一关,存档一次后再来解析存档了
2022年02月25日 04点02分 6
level 10
eatdogmeat 楼主
这回可以了,存过一次的存档中出现了版本标记,经查证后发现是如下字段:“49 54”开头,“06 02/08”结尾,其中美版结尾是02,日版是08
打开美版的全收集存档,以“49 54”为关键字进行搜索(这里要强调一下,所有数值均为16进制,不能直接在搜索框里敲字,要复制相应数值后粘贴,修改数值时也一样),也是12处,将所有结尾处的02都改为08,保存,搞定[酷]
2022年02月25日 05点02分 7
level 10
eatdogmeat 楼主
至此终于破解了洛克人zero系列的美日版存档通用问题,其实原则都一样,利用空存档(或其他不相关数据尽量少的存档)找版本标记,由于版本标记是一串数值而不是单独一个,所以虽然有多处,数值也不完全一致,但彼此之间总能找到对应的相同数值字块,利用这些字块把每一段版本标记都找出修改就可以了
最麻烦的是z4,由于只能利用美日两版各玩过一关的存档来寻找,而玩的过程中不可能保证两次流程、评价、收集道具等要素完全一致,无法得知不同数值究竟是版本区别还是游戏流程区别导致的,所以不单要比对两版的初始存档,还要加入美版的全收集存档进行三方比对,寻找在美版初始-美版全收集存档里相同、而在日版存档里不同的字块数值
那么全部教程内容就到这里,截图码字不易,希望吧友们能够多多回应,给我一些鼓励[乖]
2022年02月25日 05点02分 8
level 13
问一下楼主,zero3是芯片记忆的吗?[乖]
2022年02月25日 05点02分 9
是的,z3z4都是芯片,z3是y11,fram存档,z4是e03,eeprom
2022年02月25日 06点02分
@eatdogmeat 谢谢楼主的解答[太开心]
2022年02月25日 07点02分
确切点说 初版Z1Z2是电池 而再版也是芯片了
2022年11月13日 08点11分
@aceleelee 好哒,谢谢您[吐舌]
2022年11月13日 09点11分
level 13
[真棒]厉害厉害!程序员就是厉害!
2022年02月25日 06点02分 10
level 11
我去这都可以[真棒]
2022年02月25日 07点02分 11
level 1
大佬 用winhex怎么刷金手指代码进去啊
2022年11月10日 01点11分 12
你是说改rom变无敌那种吗,这个确实不了解,不同游戏要改的地方不一样吧
2022年11月11日 01点11分
@eatdogmeat 我用的是z卡,有个月光宝盒,我发现里面有编辑文件的选项,但是感觉是winhex那种十六进制的,不知道怎么用
2022年11月11日 08点11分
@eatdogmeat 想刷个代码进去
2022年11月11日 08点11分
level 9
老铁,口袋妖怪系列的不同语言的存档适用这个办法吗?
2022年11月10日 13点11分 13
口袋本来就通用的不用改,但存在出身地问题,直接用在不同版本有不合法问题
2022年11月11日 01点11分
level 7
大佬,Z4中文版你能否修复下,用psp无法存档,因为容量超过16mb了
2022年11月13日 14点11分 14
1