C1认证:植物大战僵尸存档详解

C1认证:植物大战僵尸存档详解



一、工具下载

植物大战僵尸
链接:https://pan.baidu.com/s/1N5UN0p9U14EoG9jbvK8IAA
提取码:2n5b

Free Hex Editor Neo

链接:https://pan.baidu.com/s/1WEuv_q9yXK4cQuA5K7e7gw
提取码:mdr1

二、任务一:植物大战僵尸

1.存档文件位置

C:\ProgramData\PopCap Games\PlantsVsZombies\userdata

ProgramData是隐藏文件夹,默认不显示
查看隐藏文件夹的方式:双击 [此电脑],点击上方 [查看],勾选[隐藏的项目]

当运行 PlantsVsZombies.exe的时候才会出现PopCap Games目录

2.创建用户

1.在游戏中创建了两个用户 Wxy、Fcy,打开users.dat查看数据
可以知道users.dat里存储的是创建的用户名称
uers.dat数据
2.在游戏中创建用户后,文件夹中自动生成了user1.dat和user2.dat的用户存档文件,user1.dat对应第一个创建的用户

初始状态下存档数据:
user1.dat第一行
user1.dat最后一行
只有第一行和最后一行有数据,其他都为00,方便我们比对

3.跳转关卡

点开冒险模式,通过两个关卡,再打开user1.dat查看变化

下面是我的备份文件的比对:

在这里插入图片描述
所以004这个位置的数值存储的是关卡

冒险模式关卡对应的十六进制数:

关卡十六进制
1-1 至 1-1001 至 0a
2-1 至 2-100b 至 14
3-1 至 3-1015 至 1e
4-1 至 4-101f 至 28
5-1 至 5-1029 至 32
6-1 至 6-1033 至 3c

4.修改金币

跳转至2-1关卡,会掉落金币,在2-2关卡开始时,提示了金币数额
290金币
打开2-2关卡的存档的备份:
1d=29

16进制 转 10 进制:
( 1d ) 16= ( 13 × 16 0 + 1 × 16 1 ) 10 = 29
29 对应 290 枚金币,故而 金币的数值是参数×10

跳转至 3-5 之后的任意关卡,因为 3-5 关卡才开启商店,方便我们查看金币

随便修改一下数值:
37 30
在这里插入图片描述
123430÷10=12343

12343 的16进制是30 37,填充的是37 30,所以要注意 高低位互换
10进制转16进制 短除法:
在这里插入图片描述

计算机存储:最小单位是字节,
存储顺序(小端模式)为低位字节在前、高位在后
编辑器中,每两个字节是高低位倒置的,所以16进制转2进制的时候,
要先进行 高低位互换

附加1:解锁冒险模式20个成就

在1-7关卡,我解锁了土豆泥成就,打开user1.dat,发现033c和033d位置发生了更改
解锁土豆泥成就
土豆泥成就

经过修改和对比发现,从0334 至 035b 每两个字节对应一个成就

下面附图,解锁冒险模式所有成就
点亮成就位置
在这里插入图片描述

5.解锁迷你游戏

由于通关最后一关,并不能解锁其他模式

所以,我去搜索了一下,解锁迷你游戏的条件:通过 3-2 关
在这里插入图片描述
相对应的,存档中300位置 由00 变为 01

6.解锁益智模式 和 生存模式

跳转至冒险模式5-10关卡,并通关
通关5-10
解锁新模式
查看存档变化:

冒险模式自动跳转到第一关,解锁了最后益智模式和生存模式,
以及 解锁了 迷你游戏的第四个关卡
经过测试,找到了解锁剩余两个模式的存档数据,即 0c位置
解锁新模式存档文件

附加2:解锁迷你游戏20个成就

方法和前面一样,直接上图~

从 04c 位置起,每一个 01 00 00 00 对应一个成就,共20个成就
在这里插入图片描述
在这里插入图片描述

附加3:解锁益智模式20个成就

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

附加4:解锁生存模式15个成就

前5个简单模式,通过5波僵尸才可以拿到奖杯,否则就显示最大波段数
后5个困难模式,要通过10波僵尸,所以是0a
最后5个无限模式,最大轮数是 0f ff ff ff
04c位置的01是迷你模式的成就丫,是不是连起来了?
在这里插入图片描述在这里插入图片描述

三、任务二

https://studio.code.org/s/pixelation
画出⾃⼰的名字或昵称:
wxy

四、拓展任务-------不会

先通过搜索引擎了解bmp或png⽂件数据格式的特征

_IHDR 文件头数据块 13个字节
Width 4 bytes 图像宽度,以像素为单位
Height 4 bytes 图像宽度,以像素为单位

再⽤截图⼯具截⼀幅8×8⼤⼩纯⽩⾊的bmp/png图⽚
png
然后⽤⼆进制编辑器观察bmp或png图⽚⽂件数据的规律

重复上述步骤,摸清规律后,在⽩底上⽤⿊⾊线条「画」出字⺟「C」

五、⾃测

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

答:D51 4位二进制 转 1位十六进制

2、10 1011.1010 11对应的⼗进制数是多少?

32+11=43
1×2-1+ 1×2-3+1×2-5+1×2-6 =0.5+0.125+0.03125+0.015625=0.671875
对应十进制是43.671875

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

MP3、AAC高级音频编码、WMA、WAV、ATRAC、PLAC、OGG、APE

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

H264、MPEG-4、VC-1、MPEG-2

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

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52

6、UTF8三字节的编码⽅式为:1110xxxx 10xxxxxx 10xxxxxx,汉字【中】的Unicode编码⼗六进制值是0x4e2d,
(1)Unicode编码按三字节编码转换到⼗六进制的UTF8编码的计算过程是什么?
(2)如果要提供⼀个实时的流媒体服务器,除了ffmpeg,还需要使⽤哪个组件?

总结

通过修改植物大战僵尸的存档,复习了下进制转换之间的知识

这个版本的植物大战僵尸我觉得还OK
不过这个版本边边上有个小锁,点击就可以解锁剩余关卡,不去点它就好啦
下了好几个版本,字体看着难受,所以最后就用这个啦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值