前提:
- win 系统安装植物大战僵尸,这里有一个百度云网盘是从网上找的,我用了,应该没有毒 https://pan.baidu.com/s/1uygTSdQk48EHItCyHms7Ow
- 安装 HexEditor ,免费版 https://www.hhdsoftware.com/free-hex-editor
修改存档
1.游戏先创建一个名字,然后试玩一下,去 C:\ProgramData\PopCap Games\PlantsVsZombies\userdata\ 会发现有一个 user3.dat 的文件,这个文件对应了我的游戏账号,这里出现 3 是因为我之前已经创建过两个用户玩耍过了,之后随着创建的账户越来越多,数字会不断增大。
2.进入游戏后每过一关,保存之后,用 HexEditor 打开 user3.dat 查看规律,发现 04 列第一行所对应的数字在发生变化,当关卡为 “1-1” 的时候,数据为 “01” ,“1-2” 的时候为 “02” ,我试图将其改为 “09” 。
重新进入游戏后,发现界面到了关卡 “1-9” ,证明修改成功了。
3.当玩游戏到“1-10”的关卡时候,发现 04 行所对应的数据为 “0A”,以此类推,到达“2-1” 关卡的时候为 “0B”,可以看出这个关卡其实就是在 04 列第一行以 16 进制表示。当我改为 “2a” 的时候,关卡为 “5-2” ,保存文件之后重新进入游戏,已经出现了商店,但是钱为 0 。
总结算法:如关卡为 “5-2” 对应的十进制为 52 ,在文件中 “08” 列对应的数字即为 (52-10)的十六进制,即为 2a 。
修改钱
1.同样的方法,玩游戏赚到了金币之后,保存游戏,然后打开 user3.dat 文件找规律,这个过程反复进行,发现金币就是在 “08” 列第一行,可以看出我有 20 块,文件中 “08” 列第一行的数据为 “02”,说明文件中该位置的十六进制数增加一个单位就可以涨 10 块。
2.我将文件中的 “08” 列的数字改为 “40” ,保存之后,进入游戏发现变成了 640 块,证明我的猜想是对的。
3.其实 “08” 和 “09” 都可以控制金钱,我分别改为 “40” 和 “20” ,保存之后进入游戏发现金钱为 82560 。
总结一下:如果你按照第三步改金钱,自己可以算出来对应的十进制是多少,那就是 2040 的十六进制再乘十倍,即为 82560 。