任务目标一

  1. 修改《植物大战僵尸》的存档文件,能跳到指定关卡
  2. 修改《植物大战僵尸》的存档文件,让游戏账户有指定数量的金币
  3. 修改《植物大战僵尸》的存档文件,能解锁【迷你游戏】选项
  4. 修改《植物大战僵尸》的存档文件,能解锁【生存模式】选项

存档文件的修改要求

0x00 准备

  1. 安装《植物大战僵尸》单机版游戏,并定位存档文件的位置
  2. 安装Hex编辑器,以便对游戏的存档文件进行修改,我们这里是使用的是Free Hex Editor Neo 6.54

0x01 找到存档文件

下载游戏后,解压缩在指定的目录,游戏文件如下图:

先运行游戏,玩上几关,退出游戏。  再来看看游戏安装目录内,并没有任何的变化,因此断定存档文件应该存储在别处 ,根据经验决定在C盘根目录下搜索游戏的名称来看看有没有相关的文件夹或文件

根据游戏的运行文件选择的搜索关键字

果然在C盘根目录下有隐藏文件夹ProgramData下存在PopCap Games/PlantsVsZombies/userdata文件夹,应该就是游戏的一些数据文件了~ (当然我的系统是Win10,其它版本的系统我没有测试,或许位置可能不同)

打开文件夹,基本可以断定应该是存储用户文件的目录,存档文件应该就是users.dat或者user1.dat

0x02 分析存档文件

运行游戏后,我当前的游戏关卡如下图:

一局以后,关卡变成了下图:

这个时候我们再会过来看看两个文件:

users.dat没有任何变化

user1.dat已经被修改,如下图:

基本可以判断0x04位置应该就是表示关卡的数值

那么我们就来随便修改一下,看看怎么变化,极端一下,直接改成0xFF:

运行游戏后居然是这个结果,这个是为什么呢,为什么呢,为什么呢,百思不得其解!!

于是我打算玩一局这个关卡看看是个什么情况,过关以后又会发生些什么!

但是,负责任的告诉大家,过关以后啥都没有发生,继续提示进入下一关,然后关卡名称依然是【6-】,游戏内容仍然和上一关相同。

无奈,我觉得继续修改一下数值测试测试。

1a对应关卡[3-6]

0f对应关卡[2-5]

给大家总结一下这个结果,

03------>关卡1的第3关

04------>关卡1的第4关

0f-------->关卡2的第5关

1a-------->关卡3的第6关

因此虽然我不知道一大关又多少小关,但是根据0f或者是1a的位置,我们可以判断

第2大关的第1小关的数值应该是倒推4个数

值:0f,0e,0d,0c,0b

关卡:5,4,3,2,1

猜测一下第2大关的第1小关应该是0b,因此第1大关的最后1关应该是0a,那么就来验证一下吧

正如我的猜测,游戏的关卡确实为1大关10小关,这样一来我们就可以总结出一下的关系

第一关   01-----0a

第二关   0b-----14

第三关   15-----1e

第四关   1f-----28

第五关   29-----32

第六关   33-----3c

第七关   3d-----46

………………

但是根据实际的测试,数值超过33以后游戏进入第6关,但是游戏内容一直重复,不再变化,

数值超过3c以后关卡就显示为一下【6-】,并不会显示第7关,第8关等,且游戏内容一直重复。

因此,决定将游戏调整到第五关的最后一关看看过关以后会是个什么情况,是进入第六关呢,还是其它什么情况

而且进入的第六关是否如前面的各关卡一样,有着不同内容的每一小关,因为直接调数值进入的第六关的游戏内容是完全重复的。

根据上面的总结,查表可得,第五关的最后一关的数值应该是【32】

游戏画面确实进入了第五大关的第10小关,,如图:

通过了第5大关的第10小关,并没有进入第6大关,而是通关了冒险模式,并开启了其它的几种模式

好吧,那就再去看看存档文件的变化

请注意各数值的变化,地址0x04处的数值变成了01,也就是回到了第1大关第1小关,而0x08---0x09的数值,正好与商店里的金币的数值

0x0131=0b0000 0001 0000 0011 0001=0d305

金币的数值=数值*10

地址0x0c处的值变成了01,应该是开启了另外三个游戏模式。通过将该数值改为00,验证了此猜测

三个模式又都被锁定~ok整存档文件的分析到此告一段落。

任务目标二

宽和高决定了图像的数据的行数和列数,每一个点的颜色对应一位。

拓展任务

BMP图像数据格式详解

研究了BMP和PNG文件格式的相关内容,相对BMP文件比较好编辑处理,而PNG文件格式还需要进行编码的转换,因此选用了BMP来进行处理。

⾃测

110101010001转⼗六进制是多少?有什么最快的计算⽅法能得到结果?

解:1101 0101 0001=0xd51

对应8 4 2 1的原则,将110101010001 分成 4位一组,得出1101=8+4+0+1=13=0xd;0101=0+4+0+1=5=0x5;0001=0+0+0+1=1=0x1

最终=0xd51

101011.101011对应的⼗进制数是多少?

解法:1)101011.101011=1*2^11+1*2^9+1*2^7+1*2^6+1*2^5+1*2^3+1*2^1+1*2^0=2048+512+128+64+32+8+2+1=2795

解法:2)101011.101011=0xaeb=a*16^2+e*16^1+b*16^0=2560+224+11=2795

常⻅的⾳频编码格式有哪些?

解:mp3,wma,flac,aac,ape,wave

常⻅的视频编码格式有哪些?

解:mp4,avi,mpg,mkv,mov,vob

⼀个尺⼨8×8⼤⼩的png全⿊图⽚前四个字节的⼗六进制值是什么?

解:89 50 4e 47

UTF8三字节的编码⽅式为:1110xxxx 10xxxxxx 10xxxxxx,汉字【中】的Unicode编码⼗六进制值是0x4e2d,Unicode编码

解:

按三字节编码转换到⼗六进制的UTF8编码的计算过程是什么?

解:

如果要提供⼀个实时的流媒体服务器,除了ffmpeg,还需要使⽤哪个组件?
解:

C1任务01《植物大战僵尸》的存档文件修改相关推荐

  1. C1任务01植物大战僵尸修改

    这里写目录标题 目录 挑战 说明 内容 一.任务实现工具: 游戏:植物大战僵尸中文版 十六进制编辑器:Hex Editor Neo 二.任务实现过程 1.修改关卡 2.修改金币数量 3.解锁所有模式 ...

  2. C1认证:修改《植物大战僵尸》的文件以及code.org绘图以及bmp画图

    C1认证:修改<植物大战僵尸>的文件以及code.org绘图以及bmp画图 索引 C1认证:修改<植物大战僵尸>的文件以及code.org绘图以及bmp画图 前言 一.任务内容 ...

  3. 植物大战僵尸用户存档修改(CSDN任务1,20210418)

    植物大战僵尸用户存档修改 任务目标 目标1:修改<植物⼤战僵⼫>的存档⽂件,能跳到指定关卡,例如「5-1」 目标2:修改<植物⼤战僵⼫>的存档⽂件,让游戏账户有指定数量的⾦币 ...

  4. 修改植物大战僵尸游戏存档,二进制绘制字符或图形

    目录 修改植物大战僵尸游戏存档 安装游戏注册用户 找到用户的游戏存档二进制文件并修改 二进制绘制字符或图形 修改植物大战僵尸游戏存档 植物大战僵尸版本:植物大战僵尸2010年度版 操作系统:Windo ...

  5. C1任务01-信息编码之修改植物大战僵尸数据存档

    任务要求: ⾸先,修改<植物⼤战僵⼫>的存档⽂件,能跳到指定关卡,例如「5-1」 其次,修改<植物⼤战僵⼫>的存档⽂件,让游戏账户有指定数量的⾦币 然后,修改<植物⼤战僵 ...

  6. C1认证:修改《植物大战僵尸》的文件

    任务内容 修改<植物⼤战僵⼫>的存档⽂件,将⼀个新⽤户的进度直接修改到 5-2 关,⾦钱(能量)直接修改到 10000 使用工具 游戏:植物大战僵尸 十六进制编辑器:Hex Editor ...

  7. 豪华曹操传2014 (数据以及存档文件修改)

    假期在家闲的无事,想起以前玩过曹操传这种战棋游戏,无意间发现有个论坛制作了最新的版本:<豪华曹操传2014>,故事跟之前的版本不太一样,数据以及存档都有了变化,所以以前的修改器都用不了了, ...

  8. vs c/c++ 用win32api写出植物大战僵尸的阳光值修改器

    一.工具如下: 1.植物大战僵尸1(直接下载逗游游戏盒可以直接下载,网上资源很乱) 2.vs2017(使用vs win32的接口) 3.cheat engine(附下载链接https://www.cr ...

  9. 游戏辅助制作核心--植物大战僵尸逆向之阳光修改(一)

    本文章使用的是植物大战僵尸中文版下载地址是:http://pan.baidu.com/s/1bpE2Y4n 如果使用其他版本可能跟图上的地址不一样 但是如果看明白了思路结果也是一样的. 一.思路 通过 ...

最新文章

  1. 常见服务器小机型号,小机服务器一览.ppt
  2. c# list 自定义排序
  3. mysql + IDEA + JDBC
  4. oracle做子查询注意事项,Oracle子查询详解
  5. java实现单链表常见操作
  6. 析构函数无法命中断点. 当前无法命中断点: 没有与此行关联的调试程序的目标代码类型的可执行代码. 可能的原因包括;条件编译, 编译器优化或者......
  7. Linux命令行技巧
  8. python菜鸟教程网-Python JSON
  9. 金融IT和ERP,哪个更有前途?
  10. ningx访问日志切割
  11. 2010年软件评测师真题精选
  12. 最新kali之arping
  13. 微信怎么开直播卖货?
  14. Java中打印程序执行的开始时间和结束时间
  15. 每周一品 · 磁选机中的磁性材料
  16. iOS培训机构该如何选择之浅析
  17. linux控制wifi的设备,WIFI控制的遥控车
  18. 2021年压力容器作业(R)移动式压力容器充装(R2)考试题库解析
  19. 前端在图片上标点,并展示——高中数学知识的应用
  20. 基于内容的电影推荐:物品画像用户画像为用户产生TOP-N推荐结果

热门文章

  1. Android隐私沙盒来了!
  2. 移动硬盘接入linux系统吗,从移动硬盘安装Linux
  3. 放下手里的王者吧,顺手考个AI-900证书不香?—> 微软 AI-900 认证考题详解复习大纲【包过关系列】
  4. SQL数据库对字段的操作(alter table)
  5. 【转载】SAP移动类型
  6. linux中的硬件抽象层
  7. 数仓建模-增量表及全量表
  8. 如何通过maven打包可执行jar包
  9. ipad触屏笔有必要买吗?苹果平板第三方触控笔推荐
  10. JCMSuite应用-高功率半导体激光器