植物大战僵尸 - 修改关卡和商店金钱

说明

需求

修改《植物大战僵尸》的存档文件,将一个新玩家的关卡进度直接修改到5-1关(跳关),金钱直接修改到10000

知识

二进制、十六进制对于计算机的意义
掌握各种数据进制间的转换
掌握如何修改并保存二进制文件

必要软件

Hex Editor Neo
《植物大战僵尸1》

软件下载及相关说明

Hex Editor Neo:
下载链接:(官网):https://www.hhdsoftware.com/free-hex-editor
因为官网下载可能会出现特别慢的情况,可以在下载的时候使用迅雷,实现相对高速的下载。
植物大战僵尸:可以在逗游官网进行免费下载。不过同时得下载逗游游戏盒子。

原理

利用数据转换的原理进行修改存档,具体为通过使用“Hex Editor Neo”软件来打开关于存档的文件并记录相关数据,再打开游戏并且完成游戏中的一个关卡,退出游戏再次使用“Hex Editor Neo”软件查看存档文件,观察其中的变换规律。多次重复后得出一定规律。
通过利用之前所得出的规律来修改数据进行跳过关卡。
游戏内金币同理可以用跳过关卡的方法进行修改。

  植物大战僵尸的存档数据都是存储在本地的可以直接修改,默认路径:C:ProgramData\PopCap Games\PlantsVsZombie\suserdata

游戏进去默认关卡为1 - 1(偷偷完了一把):
在这里插入图片描述
  Window系统可以使用Hex editor neo 打开二进制文件。

  每过一关观察数据文件的变化:

  • 第一关:
    在这里插入图片描述
  • 第二关:
    在这里插入图片描述
      发现00000004 04的数字分别为01和02,则大胆将其改为09后再次进入查看游戏:
    在这里插入图片描述
      发现关卡果然变了:
    在这里插入图片描述
      继续尝试修改成其他数据,多次试验后,发现关卡跟地址0004的十六进制数据对应关系为:
  • 关卡1-1,01
  • 关卡1-10,0A
  • 关卡2-1,0B
  • 关卡2-10,14
      依此类推
  • 关卡5-1,29
  • 关卡5-10,32

  注: 当数值大于32,小于3D时,关卡显示6-1到6-10,超过3D时,显示“6- ”,应该是开发者没有设计相应关卡,超限了;如图:

任务一:将地址00000004的数据改为29,关卡成功跳转到5-1;

同样的道理:可以修改商店中的金币。

  用上边同样的方法可以发现00000008是控制金币的数据的。

  地址08能存储的金币最大值是2550枚(ff的10倍),商店里有很多商品的价格都超过了2550,所以应该是使用了多位地址存储金币数量;

  经验证,地址08-0B按照从字节低到高的顺序存储了金币数量;
修改地址08-0B数据为E8 03 00 00,经验证,游戏内金币数量已改为10000;
在这里插入图片描述

本文参考:https://blog.csdn.net/nevins35/article/details/114291676?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161793045616780262576903%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161793045616780262576903&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-114291676.pc_search_result_hbase_insert&utm_term=%E6%A4%8D%E7%89%A9%E5%A4%A7%E6%88%98%E5%83%B5%E5%B0%B8%E6%96%87%E4%BB%B6%E4%BF%AE%E6%94%B9

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

改变世界的李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值