这是一篇烂尾的文章,疫情期间闲的写的,复工了发现还没写完,仓促补个结尾,凑合看吧,万一能帮到有需要的人呢?

下面这机器很可能是国内现存的、仍在使用中的,最古老的IPAD了:

iOS 僵尸对象是怎么产生的 僵尸ipad_16进制

记得那时国内还没有开卖,2010年暑假购于日本,用了没几年,就跟不上时代了,系统不再更新,可用的软件也没得下,就一直丢在杂物箱里睡起了大觉。又过了几年,疫情来了,都居家隔离了,电子设备突然不够用了,大人居家办公,老大要上网课,老二还要有台设备能玩玩游戏,虽然每天累计时长限制1小时以内,但总要有那么个设备给他玩儿嘛,能玩就行,对性能要求不高的那种。于是这台IPAD又翻了出来,越狱已经一键式了,好像就是itools越的,然后装一个经典的僵尸游戏就够了。游戏装好之后,没想到还很受欢迎,一家四口都创建了账号,成了抢手了装备,放了几年的机器,电池还挺耐用,做为最抢手的装备,两天一充完全出乎意料,只是没几天之后大人就失去兴趣了,因为已经通关全解锁并坐拥无限金币,只有孩子每天还按规定时间,一点一点地推进进度。某天孩子玩着玩着就哭了,一问,原来误删了存档,两个月来的成果全没了。于是新建了账号,通关问题只要花点时间就可以帮孩子搞定,可是要解锁小游戏、无尽模式,要花些金币了,这是需要大量时间来堆积出来的。于是就想着直接修改存档,找到存档文件,用两个帐号,四个变化的数据进行对比,具体的追踪与失败的尝试就不提拉,最终发现了存储金币数目的地址。直接把结论在此记录下来,也许以后还用得着呢?

1、itools连接Ipad,找到植物大战僵尸应用,具体目录记不清了,Library还是Documents下来着,会找到userdata目录,这里有各种存档文件。

2、金币的最小单位是10金币,不会出现1、2这样的数字,都是整10的。

3、金币的存储位置是倒序的,用16进制编辑器TTHexEdit打开userX.dat文件,在00000000行的08、09、0A位记录金币数值。

比如我想把金币改为8888880,只需要把888888(最后一位0省略)转变为16进制,得到D9038。如下图:

iOS 僵尸对象是怎么产生的 僵尸ipad_倒序_02

为D9038补零,构造成0D9038,倒序填入08、09、0A偏移位,填入38、90、0D,如下图:

iOS 僵尸对象是怎么产生的 僵尸ipad_倒序_03

如果账号比较多,不知道要改哪个,想找到打算修改的目标账号,也可以用上述办法反推。比如孩子新建的帐号只有450个金币,将45转为16进制变为2D,反推得到08、09、0A偏移位就会是2D、00、00。类似反推过程,附件中的coin.txt中有推演。

将修改好的存档传回Ipad覆盖原文件,再次进入游戏,效果达成!