1、植物大战僵尸:修改配置

参考原文:https://blog.csdn.net/weixin_44537669/article/details/115427626
转载原文:https://blog.csdn.net/weixin_44537669/article/details/115427626

1、实验任务

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

image-20210403221637379

2、环境使用

1、植物大战僵尸:汉化一版
2、操作系统:win10
3、2进制/16进制查看工具:Hex Editor Neo 6.44.01.6234

植物大战僵尸下载地址:https://pan.baidu.com/s/1AnlUpa-qIVdumXQYzqPUMg 提取码:3t67

Hex Editor Neo下载地址:https://dl.pconline.com.cn/download/2710536.html

3、修改方法

3.1、方法一

实现流程

1、存档位置:
	找到本机电脑(植物大战僵尸)存放(存档的位置).
    
2、理解配置文件
	建立一个:laoyang 配置用户, 与users.dat(总用户)配置文件比较(异同)

3、创建三个用户
	One:参数对比用户 (用来作为标准配置, 与游戏用户比较)
	Two、Three:游戏用户 (测试游戏)

4、将Two 游戏用户, 先通过:1-1关, 到达1-2关, 与One配置比较,得出修改
   位置文件(修改关卡的:位置)
   
5、将One和Three都将关卡改为:5-2,此时二者都有(商店),并且(金额为0),用Three 进行游戏,
   获取一些(金币)后。 将One 和Three的配置文件比较,便得出(金币)修改的位置。

6、实现任务需求:
	将 One用户, 关卡修改为(5-2), 金额修改为(10000)

7、总结:
	修改:关卡、金币 (对应进制的规律)
	拓展:开启(玩玩小游戏、解密模式、生存模式、禅境花园、图鉴、商店) 

3.1.1、明确存档位置

如果是win10, 位置如下:

C:\ProgramData\PopCap Games\PlantsVsZombies\userdata
image-20210403102250811

3.1.2、理解配置文件

建立一个:laoyang 配置用户, 与初始(归档文件)比较异同。

image-20210404121308102

可以得出:如下结论

1、users.dat为:(总用户)配置文件,里面记录了, 创建的(游戏玩家),比如:我创建的:laoyang玩家。
2、user1.dat为:(玩家用户):基础信息(存档文件)

3.1.3、创建三个用户

首先:先把laoyang这个(配置用户,删除掉)确保(还原到:存放文件初始状态)

3个用户如下:
	playOne:参数对比用户 (用来作为标准配置, 与游戏用户比较)
	playTwo、playThree:游戏用户 (测试游戏)

image-20210404084355031

3.1.4、获取:关卡位置

用Two 用户进行游戏:
	通过:1-1关, 到达1-2关, 与One配置比较,得出修改位置文件(修改关卡的:位置)

image-20210404090145073

3.1.5、获取:金币位置

一、将One和Three都将关卡改为:5-2  
	 1、配置文件(04位置): 改为2a
	 2、此时二者:都已开启商店, 金币为0 

二、通过Three用户进行游戏:
   Three用户获取一些(金币)后,保存,退出游戏将One和Three的配置文件比较,便得出金币修改的位置。

第一步:统一 One 和 Three 处于统一环境

image-20210404091751590

2、用Three 用户进行游戏, 获取金钱,进行比较

得出结论:08位置 (控制金钱)

image-20210404093503024

3.1.6、实现任务:需求

将one用户:
	关卡修改为(5-2), 金额修改为(10000)
操作:
	one用户配置文件user1.dat 中(第一行) 04 修改为2a ;  08、09修改为 E8 03 

image-20210404094934631

3.1.7、总结规律

总结:修改关卡、金钱规律
	1、修改关卡: 
		第一行04(位置)关卡确定方法, 10进制(转为)16进制,举例如下:
		十进制5    <<--转换-->>   16进制是5   关卡就是:1-5
		十进制15   <<--转换-->>   16进制是f   关卡就是:2-5
	    十进制28   <<--转换-->>   16进制是1c  关卡就是:3-8
	    十进制42   <<--转换-->>   16进制是2a  关卡就是:5-2
	    
	2、修改金币
		第一行:08、09、0a、0b(位置)可设置金额, 但是b位置写了可能(金额过大)溢出,成负数。
    	金币 =  (10进制数值  --->>> 转化为 16进制数) * 10倍
    	比如:十进制66    <<--转换-->>  16进制是42    金币为: 660 
    	比如:十进制1000  <<--转换-->>  16进制是3E8   金币为: 10000 
    	比如:十进制999999 <<--转换-->>  16进制是F423F  金币为: 9999990
    
    3、拓展:
    	将0c位置:设置为11
    	可开启(玩玩小游戏、解密模式、生存模式、禅境花园、图鉴、商店) 

1、修改关卡图

以one用户举例

image-20210404103300541

2、修改金币图

以one用户举例

image-20210404114443002

3、开启新模式

开启:玩玩小游戏、解密模式、生存模式、禅境花园、图鉴、商店

image-20210404114848336

3.2、方法二

原理:通过获取(实际真实:内存地址),修改其(配置)
使用软件: 
	1、CE修改器(Cheat Engine 7.1)
	2、易语言 5.8

可以实现的效果如下:

可参考b站上:一位博主(教程)可实现很多功能(本人照着视频测试过,可行):

引用地址:https://www.bilibili.com/video/BV1MK4y187uE?p=53

image-20210404115540286

再次声明,请注重原创

参考原文:https://blog.csdn.net/weixin_44537669/article/details/115427626
转载原文:https://blog.csdn.net/weixin_44537669/article/details/115427626

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值