C1任务01之修改游戏存档的方法

 更新时间:2021年10月28日 11:09:15   作者:Dream_飞翔  
这篇文章主要介绍了C1任务01之修改游戏存档的相关知识,前三个任务会用到十六进制编辑器来实现,在修改的的过程中涉及到的知识点为十进制数据与十六进制之间数据的相互转换,需要的朋友可以参考下

挑战

有的玩家在玩游戏时,可能并不想⼀关⼀关地慢慢玩,⽽是希望可以直接跳到最后⼀关,或者从⾃⼰指定的关卡开始,⽐如 经典的《植物⼤战僵⼫》;再就是怎么能够「开挂」,得到更多的⾦钱、更⾼的属性、更强的道具,⽐如《三国志》系列。任何游戏都会保存玩家的进度和数据,不管是单机游戏还是⽹络游戏都是如此。如果玩家能够知道这些存档数据保存在哪⾥,并且还能随意修改存档信息,那是不是就能达到「开挂」的⽬的呢? 答案当然是肯定的,因为只要知晓计算机对⼆进制数据的处理机制,就能轻松做到这⼀点。


说明

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

内容

  • 修改《植物⼤战僵⼫》的存档⽂件,将⼀个新⽤户的进度直接修改到5-2关,⾦钱(能量)直接修改到10000
  • 修改植物大战僵尸内的文字提示信息以及植物的名称

一、任务实现工具:

游戏:植物大战僵尸中文版

下载链接:

链接: https://pan.baidu.com/s/1UJeERv_Qes6KMespuD8yGg

提取码: h259

十六进制编辑器:Hex Editor Neo

下载链接:
链接: https://pan.baidu.com/s/1EyVB4AlBY14geaTzK45XOw
提取码: e933

二、任务实现过程:

前三个任务会用到十六进制编辑器来实现,在修改的的过程中涉及到的知识点为十进制数据与十六进制之间数据的相互转换。

PS:单机类游戏数据都是存储在本地,因此只要在本地找到存储数据的文件进行修改即可对游戏内的数据进行修改

在所有任务开始前首先在下载好的植物大战僵尸游戏中新注册一个账号
(在这里我起名为SJMDJGS【世纪末的架构师】)

在这里插入图片描述

1、修改关卡

修改关卡前首先要在本地找到存储游戏数据的文件
植物大战僵尸的数据文件一般都是存储在C盘中的ProgramData文件夹中

C:\ProgramData是个公用的被创建文件夹或文件存放的地方,这些文件夹或文件仅由创建者完整控制。打开ProgramData,可以看到很多和应用软件同名的文件夹,里面有一些软件运行,或者修复卸载时候调用的一些文件,生成的一些记录也存放在这里。默认是隐藏的,不可删除的

文件路径: C:\ProgramData\PopCap Games\PlantsVsZombies
来到这里以后会看到有两个文件夹,点击下方存储用户数据的userdata文件夹

在这里插入图片描述

点击进入存储用户数据的文件夹以后会发现有两个.dat格式的文件,其中user1.dat文件中存储着关卡数据和金币道具等信息

在这里插入图片描述

将user1.dat文件拖到Hex Editor Neo中,不难发现第四列存储的数字为1其余为0,所以进行是否第四列中的十六进制数据代表着关卡的信息

在这里插入图片描述

在游戏中通关到第三关以后再将user1.dat文件拖入Hex Editor Neo中会发现之前第四列下的数据已经由最初的01变成了03,因此说明第四列下的十六进制数据是用来描述关卡情况

在这里插入图片描述

在这里插入图片描述

在植物大战僵尸游戏中每10小关为一个大关,所以要将关卡修改到第5-2关对应的十进制数据为42,将其转换为十六进制数据为2a,在Hex Editor Neo中将03改为2a后重新进入游戏会发现关卡跳到了第5-2关。

在这里插入图片描述
在这里插入图片描述

2、修改金币

在修改了关卡以后会发现游戏界面内自动出现了商店等组件,此时我们点击商店以后会发现金币为0,现在开始修改金币

在这里插入图片描述

当通关获得一定数量的金币后会发现第八列下的数据发生了变化,因此猜测第八列下的十六进制数据为记录金币数量的信息,将这里的数据修改为ff,重新进入游戏查看金币的数量是否有发生变化

在这里插入图片描述

重新进入游戏后发现金币数量发生了变化并且为2550,因为ff对应的十进制数据为255,因此证明植物大战僵尸中金币的规则为十六进制对应的十进制数据 * 10

在这里插入图片描述

因为游戏中10000金币对应的十进制数据为1000,1000(10)对应的十六进制数据为3e8,在Hex Editor Neo中将第八列和第九列

中的数据分别改为3e、80后重新进入游戏会发现金币的数量并不是预想的10000,而是328300

在这里插入图片描述

在这里插入图片描述

由此猜测第九列的数据为高位,并不是按照惯性思维从第八列开始依次排列,重新在Hex Editor Neo中把第八列和第九列的数据分别改为e8、03,再次进入游戏后发现商城中金币数量变为了10000

在这里插入图片描述
在这里插入图片描述

3、修改用户名

之前修改关卡和金币数量时都是在user1.dat中修改,修改用户名则是在另一个users.dat文件中进行修改,将users.dat拖入到Hex Editor Neo中会发现从第08列到第0e列中的对应的十六进制数据转换为十进制数据以后的值恰好对应ASCII码中的SJMDJGS(世纪末的架构师),与游戏中的用户名对应,因此假设第08列到第0e列的数据对应为用户名,将第08列到第0e列的数据分别修改为46(16)(对应十进制数据为70)、58(16)(对应十进制数据为88)、44(16)(对应十进制数据为68)、48(16)(对应十进制数据为72)、4c(16)(对应十进制数据为77)、52(16)(对应十进制数据为82)、第0e列改为00,如果假设正确重新进入游戏后用户的名称则修改为FXDHLR(飞翔的荷兰人)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、修改局内文字信息

修改局内文字信息不需要用到十六进制编辑器,只需要找到游戏的安装路径,找到其中的properties文件夹,修改该文件夹中的LawnStrings.txt文件即可

在这里插入图片描述
在这里插入图片描述

在这里我使用的是notepad++来修改文本文件,只用记事本也可以完成编辑。以修改豌豆射手的数据为例,在游戏内的图鉴中检查信息是否修改成功

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

总结

任务到这里就全部结束了,修改游戏数据在曾经是想都不敢想的,在刚开始看到任务时一度怀疑自己能否完成这样的任务,便心一狠牙一咬踏上了完成任务的旅程,在完成任务的过程中自己才意识到之前自己被自己想象的困难打败了,真正接触到之后并没有想象中的困难。在完成任务的过程中熟悉了数据进制之间的转换,也明白了在计算机中如何保存二进制文件,更重要的是信心上和动手实践能力的提高。
还记着那句,人的一生中最辉煌的一天,并不是功成名就的那一天,而是在悲叹和绝望中产生向上的力量,并勇敢去直面和接受挑战的这一天。这是最大的转折点,当你选择去直面挑战时,就已经注定了成功!

到此这篇关于C1任务01之修改游戏存档的文章就介绍到这了,更多相关修改游戏存档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • VS2019中scanf返回值被忽略的问题及其解决方法

    VS2019中scanf返回值被忽略的问题及其解决方法

    这篇文章主要介绍了VS2019中scanf返回值被忽略的问题及其解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 使用八爪鱼采集器采集滚动加载和点击加载数据的教程

    使用八爪鱼采集器采集滚动加载和点击加载数据的教程

    现在很多网站的列表,需要向下滚动页面,才能加载出新数据。或者点击“查看更多”加载新数据。使用广泛的火车头采集器相对无力,使用八爪鱼采集器可以采集滚动刷新和点击刷新。
    2023-05-05
  • windows开发记事本程序纪实(二)逻辑篇1

    windows开发记事本程序纪实(二)逻辑篇1

    从本节开始介绍windows开发实现记事本程序的逻辑实现部分。本节的主要内容有以下3点:1. 主窗口定义2. RichEdit控件的选用及初始化3. 整个程序ICON的选择
    2014-08-08
  • 5个Linux平台程序员最爱的开发工具汇总

    5个Linux平台程序员最爱的开发工具汇总

    这篇文章主要介绍了5个Linux平台程序员最爱的开发工具汇总,程序最重要的工具就是源码编辑器了,或者是一个全能的IDE,本文就罗列了5个Linux平台最常用的编辑给大家,需要的朋友可以参考下
    2014-09-09
  • 详解Hadoop 运行环境搭建过程

    详解Hadoop 运行环境搭建过程

    这篇文章主要介绍了Hadoop 运行环境搭建过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • Visual Studio中文注释乱码两种解决方案

    Visual Studio中文注释乱码两种解决方案

    这篇文章主要给大家介绍了关于Visual Studio中文注释乱码两种解决方案,如果在Visual Studio Code中注释出现乱码,可能是因为文件编码格式不正确,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • WPF滑块控件(Slider)的自定义样式

    WPF滑块控件(Slider)的自定义样式

    这篇文章主要介绍了WPF滑块控件(Slider)的自定义样式的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • 超实用Internet Download Manager(IDM)破解注册码,全版本通用

    超实用Internet Download Manager(IDM)破解注册码,全版本通用

    IDM下载器是一个十分好用的文件下载工具。IDM下载器它能够帮助你提升5倍的下载速度,强大的续传功能,让你不再担心因网络问题、计算机宕机、停电等原因所造成的数据不全问题,下面小编给大家带来了Internet Download Manager(IDM)破解注册码,感兴趣的朋友参考下吧
    2023-01-01
  • IDM 6.40.11.2 弹窗的完美解决思路

    IDM 6.40.11.2 弹窗的完美解决思路

    找了一个和谐工具,运行和谐工具后,看IDM关于那里,已经是全功能版本,美中不足的是,IDM运行一段时间,就会弹出neg窗口,说文件被修改,最好是去官网下载原版的提示,就这个问题怎么处理呢?对IDM 6.40.11.2 弹窗的解决思路感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • Deepin20安装开发环境的超详细教程

    Deepin20安装开发环境的超详细教程

    这篇文章主要介绍了Deepin20安装开发环境的步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10

最新评论