c1-01

C1-01

植物大战僵尸关卡与金币修改

通过软件Hex Editor Neo对游戏存档关卡与金币进行修改

相关资源

https://download.csdn.net/download/dhjfhcnf/16809124
1.Hex Editor Neo Ultimate是一款多功能的16进程编辑查看器,同时还支持二进制的文件查看,支持ASCII,十六进制,十进制,float,double和二进制数据等数据进行编辑和建立,通过Hex Editor Neo可以制作文件补丁或者批量对代码进行替换和代码查找等。Hex Editor Neo Ultimate支持xp、win7、win8等64位和32位操作系统。

2.植物大战僵尸为英文原版。

实验步骤

找出存档位置→使用Hex Editor Neo打开→修改关卡→修改金币


找出存档位置

我一开始是在游戏的安装目录里找到userdata文件夹的(我是安到D盘的),可我使用Hex Editor Neo 修改文件后,发现游戏中的数据并没有发生改变。在排除其他错误后,我认为应该是找错了文件夹,这只是游戏的安装目录,可能只负责把初始数据拷贝到运行目录。那么怎么找到游戏的运行目录呢?打开任务管理器,找到正在运行的游戏,右键打开文件夹所在位置。可以看到文件夹中同样有一个userdata文件夹。

打开userdata,可以看到有许多个user.dat文件,这应该就是用户数据,还有一个start.txt应该是用来新建用户时用的初始数据。

修改关卡

用软件打开user1.dat文件,将指出位置参数改为2e(十六进制),其对应的十进制数字为46,即为游戏中的5-6关。因为打开一个新用户的dat文件时,只有这个位置为01,玩到1-2关时,这个数字变为02,由此推出该数据存储的是关卡信息。修改后的游戏如下。

修改金币

同样的道理,通过在游戏中改变金币的值,观察dat文件中数据的变化,找出金币数据存储的位置(图中所示位置)。将金币数字改为50,000(十进制),对应0x0000c350。该数据使用小端法保存,即数据位高位对应地址位地位,所以08-0b填写为50 c3 00 00。修改后游戏数据如下图。金币为500,000.推测游戏将该数据*10后为金币数,观察游戏中的物品价格全为10的整数倍,这样可以使金币上限增加一位。

任务二

code绘图

 

自测

1、 (110101010001)2=(d51)16;

2、(101011.101011)2=(43.671875)10;

3、常见音视频编码格式总结

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

答:aac,MP3,wma

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

答:H.261、H.262、H.263、H.264、H.265、MPEG

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

89 50 4e 47

5、UTF8三字节的编码⽅式为:1110xxxx 10xxxxxx 10xxxxxx,汉字【中】的Unicode编码⼗六进制值是0x4e2d,Unicode编码按三字节编码转换到⼗六进制的UTF8编码的计算过程是什么?

https://blog.csdn.net/wangwenan1993/article/details/45559369

结果为:4e2d(16)-> 0100 1110 0010 1101 (2) 

所以:UTF8(2):11100100 10111000 10101101

           UTF8(16):0xe4b8ad

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

答:ffmpeg和ffserver配合使用可以实现实时的流媒体服务。ffmpeg+ffserver搭建流媒体服务器

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 测试用例名称:测试lyid为正整数的情况 输入数据:{ "lyid": "123", "membershipid": "162", "tpid": "1", "bid": "2543344839898898", "taskid": "T-162-C1-01", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序正常执行,不报错,返回结果符合要求。 2. 测试用例名称:测试lyid为负整数的情况 输入数据:{ "lyid": "-123", "membershipid": "162", "tpid": "1", "bid": "2543344839898898", "taskid": "T-162-C1-01", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序报错,提示lyid必须是正整数。 3. 测试用例名称:测试lyid为0的情况 输入数据:{ "lyid": "0", "membershipid": "162", "tpid": "1", "bid": "2543344839898898", "taskid": "T-162-C1-01", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序报错,提示lyid必须是正整数。 4. 测试用例名称:测试membershipid为字符串的情况 输入数据:{ "lyid": "1", "membershipid": "abc", "tpid": "1", "bid": "2543344839898898", "taskid": "T-162-C1-01", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序报错,提示membershipid必须是正整数。 5. 测试用例名称:测试tpid为null的情况 输入数据:{ "lyid": "1", "membershipid": "162", "tpid": null, "bid": "2543344839898898", "taskid": "T-162-C1-01", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序报错,提示tpid不能为空。 6. 测试用例名称:测试bid为空字符串的情况 输入数据:{ "lyid": "1", "membershipid": "162", "tpid": "1", "bid": "", "taskid": "T-162-C1-01", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序报错,提示bid不能为空。 7. 测试用例名称:测试taskid为特殊字符的情况 输入数据:{ "lyid": "1", "membershipid": "162", "tpid": "1", "bid": "2543344839898898", "taskid": "!@#$%^&*()", "inserttime": "2023-05-05 12:20:20" } 预期输出:程序报错,提示taskid只能包含字母、数字和下划线。 8. 测试用例名称:测试inserttime格式不正确的情况 输入数据:{ "lyid": "1", "membershipid": "162", "tpid": "1", "bid": "2543344839898898", "taskid": "T-162-C1-01", "inserttime": "2023/05/05 12:20:20" } 预期输出:程序报错,提示inserttime格式不正确,应为yyyy-mm-dd HH:MM:SS。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值