C1第一个任务

C1能力认证:修改《植物大战僵尸》的存档文件

作业完成步骤

1.使用的工具

1.《植物大战僵尸》中文版
2.Hex Editor Neo

2. 运行环境

WIN10 系统

3.实现流程

1.下载安装好工具
2.打开游戏新建游戏账号
3.找到《植物大战僵尸》中文版的用户文档所在的文件夹,并用Hex Editor Neo打开。
4.根据要求,将关卡和金币的数据转换成16进制,修改后保存文件。
5.重新打开游戏界面,检查是否已经实现进度和金钱的修改

4. 具体操作

1.打开植物大战僵尸新建一个用户:例如 allubibah

在这里插入图片描述

2.找到《植物大战僵尸》中文版的用户文档所在的文件夹,并用Hex Editor Neo打开。

注意:98/ME/XP下比较好找,储存在Plants vs. Zombies/userdata/文件夹下。VISTA/WIN7位置比较诡异,在C:/Programme Files/Popcap/文件夹下面的一个什么子文件夹里面,在系统盘搜索Popcap应该会比较容易找到。

  • win10系统上我们先打开C盘,然后要打勾隐藏的项目复选框,这样我们可以看到Program Data 文件夹
    在这里插入图片描述
  • 然后打开文件夹找到 PopCap Games 文件夹 里面找到 userdata
    在这里插入图片描述
  • 打开user1,这是我刚才新建的账户存档文件从图可以看到04列第一行有一个01,假设这个代表第一关,我们将游戏关闭,将此值修改为05,点击保存。
    在这里插入图片描述

3.我们从新打开游戏发现关卡由原来的1-1变成了1-5,由此可以判断00000000行04列代表游戏管卡。
在这里插入图片描述
4.首先我们推测该游戏为16进制,直接输入最后一关50,把50改成十六进制32,可发现游戏关卡直接改成了最后一关。
5.我的账户上的金币数为2300。
而此时,08位置上的数据为e6,换算为十进制为230。所以,编辑器中金币位置上的数字*10=游戏中的金币数值。
任务目标是将金币数改为10000,所以在编辑器中,金币所在位置的数据应为3e8(即十进制中的1000),将3e填入了08位置上,将8填入了09位置上(08),而此时游戏中的数据为21,100。
十进制2110的十六进制为83e,所以2110这个数值是09位置上的数据连接08位置上的数据并乘10得到的。当我将3e填入09的位置上,08填入08的位置上,游戏中的金币数变为了158800,然而十进制15880的十六进制为3e08,也是09位置上的数字连接08位置上的数字。即数值的高位对应地址的高位(高对高,低对低)
我改变了补0的位置,在09的位置上输入03,在08的位置上输入e8,此时游戏中的金币数为10000,修改成功。
在这里插入图片描述
在这里插入图片描述

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页