任务01 植物大战僵尸存档修改

1、要求

修改《植物⼤战僵⼫》的存档⽂件,将⼀个新⽤户的进度直接修改到5-2关,⾦钱(能量)直接修改到10000

2、说明

  • 了解⼆进制、⼗六进制对于计算机的意义
  • 掌握⼆/七/⼋/⼗/⼗⼆/⼗六等多种数据进制间的转换
  • 掌握如何在windows及linux中修改并保存⼆进制⽂件

3、准备

  • 植物大战僵尸

游戏下载:https://pan.baidu.com/s/12i4GsUkl6oMzFBuCPWOaLA

提取码: 5xj9

  • Hex Editor Neo

用来读取和修改二进制文件

破解版下载:https://www.52pojie.cn/thread-1353906-1-1.html

下载安装后中文语言包加载不出来:rage:

需要自己下载语言包,在安装目录下,创建目录Localization,把语言包扔进去

image-20210401140410190

运行darkzer0.exe进行pojie

image-20210401140612633

4、任务实践

4.1、修改关卡

分析

既然要修改《植物⼤战僵⼫》的存档⽂件,就需知道文件在哪

先去游戏目录下找找,看见userdata目录,那么用户数据应该就在这里了

打开目录下user1.dat文件

image-20210401141311490

只有这两处有数据,假设下,如果我们通关了,那么这两数值至少有一个改变

当我们过完第一关后,重新打开文件,发现数据没改变:sweat:

那它的数据应该在哪呢?

小常识:如果数据不在当前目录下,大部分数据都在C:\ProgramData\目录下

最后得到在目录:C:\ProgramData\PopCap Games\PlantsVsZombies\userdata

修改数据

想要跳过关卡,就要修改文件里的数据。首先,我们要明确,对应的关卡数据是多少

为了方便分析数据,把显示方式切换到十进制

image-20210401143452757

对比之前的数据发现变成了2

image-20210401143756030

我们来改下数据看看关卡变成什么

  • 修改成3:关卡是1-3
  • 修改成4:关卡是1-4
  • .............
  • 修改成11:关卡是2-1
  • 修改成12:关卡是2-2
  • 修改成25:关卡是3-5
  • 修改成35:关卡是4-5

很明显的发现规律,得出4-1关卡的数据就是31

到此修改关卡就完成了

4.2、修改金钱

分析

到了4-1关卡,解锁了商店,按照之前的思路,我们通过金币的变换对应文件内容的变化,来分析金币变化规律

  • 记录现有金币0

image-20210401144951015

  • 闯关获得金币

既然我们可以通过修改文件数据,来改变游戏关卡。

那我们是不是也可以修改内存数据改变游戏数据,例如:阳光

借助工具:Cheat Engine 7.0

1、添加植物大战僵尸进程

image-20210401145838953

2、扫描

填50,因为我们一开始阳光是50

image-20210401150001146

结果有600个,太多了,进入游戏改变阳关值,进行第二次搜索

image-20210401150333919

只剩下一个地址了,那么这个肯定就是阳光的内存地址。(有时候不会这么快出现唯一,我们可以多次更改数值,多次筛选)

3、修改

双击“数值”,修改数据后,成功!

image-20210401150711217

  • 过关后查看数据变化

金币数量为320,对应数据为32

image-20210401151356582

  • 修改数据查看规则

盲猜一下,修改成40,金币则为400

最后真成400了!

image-20210401151536106

修改数据

发现规律后,那么⾦钱修改到10000,把数值改成1000就行了

总结

任务完成心得:

  • 善于使用工具

通过工具,我们可以在不了解二进制等进制,来进行修改文件数据。但我们需要了解它们的进制转变

  • 善于动手

很多规律,是通过不断的修改数值才发现的,我们要善于动手并发现其中的规律

任务知识:

  • 大部分文件储存目录

当前运行目录,或者C:\ProgramData\

  • 二进制、十进制、十六进制的了解和转换

拓展:

在上面我们用了Cheat Engine工具,修改了内存中阳光数值

那么我们就可以借助工具分析出阳光在内存的地址

依据这些地址我们就可以写出任意修改阳光的辅助,这是一些游戏辅助的原理

也可以通过OD修改植物大战僵尸这款游戏,这也是一些游戏“无敌版”的由来

附言:

以上内容本人在虚拟机完成,大家可下载vmware,安装win10镜像,在里面完成

小时候玩洛克王国游戏,为了快速升级,下载了一堆辅助,有的软件恶意捆绑或修改电脑密码,最后把电脑弄“炸”了,没少挨父母打,后来长记性了。

用代码书写山河的壮丽
本文作者:
文章标题:任务01 植物大战僵尸存档修改
本文地址:https://oddfar.com/archives/85/
版权说明:知识共享署名-非商业性使用 4.0 国际协议进行许可
转载声明:转载请附上原文出处链接和本声明
最后修改:2021 年 05 月 23 日 04 : 34 PM
如果觉得我的文章对你有用,请随意赞赏