学习内容:
- 编程知识
- 刷题记录
1.编程知识:
1.二维数组:
int array[2][3];该代码声明了一个2行3列的二维数组,数组名为array,其下表变量的类型为整形。可以用于实现矩阵的输出。
在c语言中,二维数组是按行排列的(按行存放,线性存储)。
2.函数和递归的使用:
函数的嵌套调用:在调用一个函数的过程中又调用另一个函数。(注意:函数不能被嵌套定义但可以嵌套调用。)
函数直接或间接的调用自己称为递归调用,这样的函数称为递归函数。(注意:基本条件控制递归调用结束,一般条件控制递归调用向基本条件转化。)
2.刷题记录:
1.misc杂项
一个完整的JPG文件由FF D8开头,FF D9结尾,在使用图片浏览器时,图片浏览器会忽略FF D9以后的内容,因此可以在JPG文件中加入其他文件,从而实现文件隐藏。
如上例题.png的文件尾为AE 42 60 82,后面跟着50 4B 03 04,这是.zip的文件头,说明该文件下还藏着一个.zip文件。
将后面的zip文件单独保存为一个文件,打开发现被加密了。
再返回去看二进制编码文件,发现核心目录区头50 4B 01 02四个byte后的数为09 00而不是00 00,说明这个.zip文件的加密方式是全局真加密,由.txt文件名4numbers得知密码为4位。
用爆破软件将密码爆破从而得到flag。
2.basic第一题
考察使用ssh链接到靶机(ssh:secure shell是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境)
在虚拟机中进行链接从而查找到flag文件。