植物大战僵尸实训路线记录
从楚楚那里拿到这三个网页,首先是进行一个大致的解读。
整个任务分为三个过程:
一.安装软件
(1)植物大战僵尸
这里就没什么解释的必要了。我装在F盘,他的Data文件也可以找到。大家放心下载,傻瓜式安装就可以了。
(2)二进制编辑器
我这个东西我也是我在网上下载的,没有为任何人代言哈。
注意使用时,就是对它进行修改时,比如你十六进制的你就只能输入0-F,你输入其他的字符光标会自动往下跳
二、完成实训指定的要求
1.修改《植物大战僵尸》游戏存档,能跳到5-1关卡
当我没有打开这款游戏时,使用HexEditor2打开C:\ProgramData\PopCap Games\PlantsVsZombies\userdata目录下的user1.dat
我发现都是00(忘记截图了)
之后我打开了游戏并注册了”yangyang“为我的用户名,再次打开user1.dat,图中画圈的地方发生改变。此时我猜想这个地方的数值应该是代表关卡
接下来我又进行了猜想:
0 1 是 第一关
1 0 是不是十六关?因为十六进制逢F进1
验证猜想,改!
下文中我将称“大关-小关”
可以看到关卡为2-6,既然是2-6,那么可以推理出大关是封10进1
01 | 1-1 |
---|---|
10 | 2-6 |
接着可以推出2-1就是0B,验证!
没问题那5-1就可以递推出来(十进制就是加10,十六进制就是加A)
关卡 | 修改数值 |
---|---|
2-1 | 0B |
3-1 | 15 |
4-1 | 1F |
5-1 | 29 |
至此第一项指定任务完成
2.游戏账户充值1024$
emmmm我想了一下如果我需要改金币的话,应该是通关时才又金币,才能观察到数值的变化。之后我改到这么靠前的关卡(怕自己打不过)打金币中…
成功打了300金币,发现了下图数值发生改变
300金币,1E它们两个之间又存在怎样的转换呢?
猜想:猜个屁,改成0A,看看10代表多少钱
10代表100,那1E代表300就不难理解了
改变数值 | 十进制 | 游戏中的金币 |
---|---|---|
01 | 1 | 10 |
… | … | … |
0A | 10 | 100 |
14 | 20 | 200 |
1E | 30 | 300 |
… | … | … |
64 | 100 | 1000 |
那现在有个致命的问题来了。1000有了,20也有了。4从哪里来又该往哪去?
花了很长时间,途中快破防了…
我看了很久,现在已经确定了。通过修改user1.dat改不了个位。
证据一:
图中我修改得试二进制得0000 00001为1,金币为10
证据二:
b站上面的一个up主,也明确说了
- 加密数值=当前金币*10
原文链接:点击此处
结果
最后经过计算修改成1020,这个问题就过去吧,进行下一个问题
3.解锁【迷你游戏】和【生存模式】选项
看到这个问题,面向百度吧。因为我也不知道这两个关卡的触发方式,咱也不是游戏主播
1.迷你游戏
通过调整编码,把关卡调整到3-2,通过CE把阳光修改9999进行游戏
2.生存模式
通过调整编码,把关卡调整到5-10。CE懂得都懂
三、总结
- 在做的过程中,看了其他同学做的。有的同学是通过代码去完成修改文件的,有时间我也需要钻研一下。
- 对1024金币的修改,直到老师没给出答复之前,我仍坚持我的答案。
- 第三问解锁关卡的操作,还有更简单的方法修改数值。我现在做出来了,知道怎么修改。
- 最后,仍感谢老师,楚楚。