C1 任务
任务一
完成过程是:
- 在网上下载单机版游戏,并安装;
- 浏览安装目录,安装目录下有个userdata目录,里面有3个二进制的文件,如下图:
- 猜测这就是保存存档与金币的文件,但是具体是哪一个文件,以及在文件中的位置,就需要先玩一关,比较前后的文件的不同;
- 由于自己在上班,不方便打开游戏来玩,可以登录https://ccc.cloud.youkuaiyun.com/,查看别人的修改方法;
- 我参考了https://ccc.cloud.youkuaiyun.com/p/w02pzl51中的方法。
任务二
完成过程是:
- 注册code.org
- 使用二进制写字的方法是:先全部写上1,然后依据要写的字,把相应位置上的1改成0即可
任务三
完成过程是:
- 搜索bmp文件的格式定义,参考了链接中的知识
https://blog.youkuaiyun.com/u014453443/article/details/85274687 - 使用windows系统的绘图软件创建了8x8的bmp文件;
- 由于是白色图片,bmp文件表示颜色的区域都是FF,因此,只要修改这个区域即可;
- 创建的文件FF总共有192bytes,而bmp文件的分辨率是8x8,每个颜色用4bytes,应该有8x8x4=256bytes;
- 查看了一下图片文件的属性,发现位深度是24,猜测每个颜色用3bytes构成
- 画出黑色的C,只要把颜色的数值改成00 00 00即可,但是0的具体位置的确定,借助了code.org上的教程;
- 先在code.org上创建一个8x8的图像,然后“画出”C;
- 使用winhex打开bmp文件,对应上图,把相应位置的3个FF改成00,从而画出C;
- bmp文件像素的位置与文件中二进制数的位置对应关系如下图所示: