马化腾猎头目标小组修改植物大战僵尸存档及金币任务
1.原理
通过改变用户数据进行修改存档,通过使用“Hex EditorNeo”软件来打开关于存档的文件,再打开游戏并且完成游戏中的一个关卡,退出游戏再次使用“Hex EditorNeo”软件查看存档文件,探究存档文件的变换。通过利用规律来修改数据进行跳过关卡和增加金币。
游戏内金币同理可以用跳过关卡的方法进行修改。
2.进行过程
进入游戏之后,创建新用户“user666”,寻找游戏的存档文件位置C:\ProgramData\PopCap
Games\PlantsVsZombies\userdata\user2.dat
↑1 > 此电脑> OS(C:) > ProgramData > PopCap Games > PlantsVsZombies > userdata
(一般情况下programdata文件夹会被隐藏,我们可以点击查看选项,勾选显示隐藏项目选项)
想要修改存档来达到跳关目的,需要知道关卡数据存储在存档文件中的位置,所以,需要从关卡1-1玩到关卡1-3,每过一关,查看一下user3dat文件,然后比较三份文件中的数据差异:发现规律。经比较,其中 04 的数据在每次中都不一样。
关卡1-1,数据为“01”,
关卡1-2,数据为“02” ,
关卡1-3,数据为“03”,
随着关卡的改变,发现可以进行修改地址04的数据,保存存档文件后,进入游戏看关卡是否已经改变;修改数据 ,进入游戏查看关卡发生了改变。继续修改数据,多次进行后,发现关卡跟地址04的十六进制数据对应关系为:
关卡1-1,01
关卡1-10,0a
关卡2-1, 0b
关卡2-10, 14
依此类推
关卡5-1,29
关卡5-2, 2a
关卡5-10,32
04地址中的数据改为2a时,商店功能解锁。
2.商店选项
开始进行金币的数据修改。
进行修改各组数据并查看可以发现金币是由地址08-0b的数据来确定的,
所以修改这个地址就可以实现改变游戏内的金币。在地址08下面数据改为01 金币为10。
经过测试发现一个地址08最多可以改变为16进制是(ff)能存储的金币最大值是2550枚(f的10倍),09的 01为2560,02为5120,则修改08-0b的数据分别为e8 03 00 00时金币为10000。
文件内修改至5-2关,10000金币如图所示:
游戏中:
如图,完成任务!