任务一:植物大战僵尸存档数据修改
任务要求:修改《植物⼤战僵⼫》的存档⽂件,以实现跳关和金钱修改。
实验步骤:
- 找到位于C盘users文件夹下的植物大战僵尸存档文件夹,以找到user1.dat文件,如图所示:
但需要注意的是,user1.dat文件需要用户在游戏中创建用户并且通关第一关以后才会出现。 - 用任意十六进制编辑器打开user1.dat文件,这里本人使用的是Hex Editor编辑器:
- 打开存档文件后可以发现,第一行有一个02的数值,我们大致判断这个数值为关卡数值,并尝试进行修改,将其修改为32,保存并回到游戏中查看结果:
可以看见,关卡已经变为5-4,修改成功!这说明该数值就是存放关卡的数据 - 进入游戏玩一下,直到获取金币为止,以此来找出金钱的数据存放地址
- 金钱数值发生变化以后,退出游戏,打开user1.dat,观察数据变化:
可以看到第一行有数据发生了变化,这个就是金钱的数值,我们将其改为较大一些的数值:
- 打开游戏,观察结果:
可以看到我们的金钱已经变成了60多万,一秒变成资本家!
任务二:用二进制编辑器操作bmp位图画直线:
任务要求:使用十六进制编辑器来操纵bmp位图画出一条直线
实验步骤:
- 打开windows自带的画图工具画一条直线,将该文件保存为单色位图BMP格式。用十六进制编辑器打开该位图。这里本人使用的同样是Hex Editor编辑器
- 找到内容不同的部分,该部分地址就是刚才所画的直线对应的坐标。
可以发现在BMP位图中,一个FF代表一个纯白色的像素点,00代表纯黑的像素点。将一段地址。只要修改连续的FF为连续的00就可以画出一条直线。
- 在该连续代码附近修改00004180这一行,将其所有的位全部改为00,然后保存
- 打开位图,查看结果:
可以发现在刚才用画图工具画的粗直线旁边,多出了一条细的直线,操作成功!
C1-01任务小结:通过这一实用而又有趣的任务学习,通过不断的探究和摸索,我初步了解了游戏修改器修改游戏数据的基本修改原理和游戏存储数据的一些方式方法,也了解了bmp位图数据的存储方式。在这些任务的学习中,我同时也对十六进制和二进制有了更深一层的理解,这对于以后接触更深层的计算机原理是非常有帮助的。
自测:
- 110101010001转⼗六进制是多少?
答:将该二进制数分成4个数字一组,不足4个数组就在头部补0,
然后直接计算出十六进制结果:D51
- 101011.101011的⼗进制数是多少?
答:1*2^5+0*2^4+1*2^3+0*2^2+1*2^1+1*2^0+1*2^(-1)+0*2^(-2)
+1*2^(-3)+0*2^(-4)+1*2(-5)+1*2^(-6)=43.671875
- 常⻅的视频编码格式有哪些?
答:MPEG2-TS、MPEG-4、H.261、H.264、WMV、VC-1、QuickTime等
- 65对应ASCII码是哪个字符?
答:“A”。按住键盘上的ALT键,然后在小键盘输入ASCII值,即可输出
ASCII值对应的字符