文件格式概述
文件格式实质上是信息的一种特殊的编码方式,计算机在存储信息时,由于信息种类的不同,所采取的文件格式也不同,在windows系统中,计算机通常采用扩展名的方式来区分不同的文件格式,ctf中考察文件格式大致分为4的类:
- 文本格式:
.txt
,.doc
,.docx
- 图像格式:
.png
,.jpg
,bmp
,.gif
- 音频格式:
.mp3
,.wma
,.wav
- 视频格式:
.mp4
,.rmvb
,.avi
txt格式
txt即英文text的缩写,通常是指windows操作系统自带的一种纯文本文件格式
doc/docx格式
doc即document的缩写,docx在doc的基础上加入了xml,通常是指Microsoft Office Word软件创建的文件格式,docx实际上是作为一个zip压缩方式的压缩文件,的哦出现相对doc体积更小,支持的对象更多,同常采用AOPR的工具爆破docx的难度更大
png格式
89 50 4e 47 0d 0a 1a
属于无损压缩的位图格式,他采用LZ77的派生算法进行压缩,压缩比高,文件体积小,同时不损失颜色和数据,一个png文件可以由一个文件头标志和若干个数据块构成,而数据块有可以分为关键数据块和辅助数据块,每一类数据块又包含若干具体的数据块部分
wiki:https://ctf-wiki.github.io/ctf-wiki/misc/picture/png/
jpeg格式
属于有损压缩的与平台无关的图像格式,jpeg的压缩比高(可高达100:1),png主要是块,而jpeg主要是以段的形式
wiki:https://ctf-wiki.github.io/ctf-wiki/misc/picture/jpg/
bmp格式
是windows的标准图像文件格式,通常情况下采用位映射存储格式,除了图像的深度(可以理解为控制色彩的能力)可选外,不采用任何其他的压缩方式,因此bmp的图像质量非常高,体积也非常大,bmp图像通常可以分为设备相关位图和设备无关位图两大类,一个bmp的文件格式通常由文件头,信息头,颜色信息和位图数据四部分组成
文件头:前面两个字节一般42 4D
,随后4个字节表示位图大小,再后面4个字节为保留位设置为0,再后面的4个字节非常关键,表示文件头到位图数据的偏移量
gif格式
也是一种无损压缩,它存储的不是颜色的本身,而是该点的颜色列表的索引值,其内部分成许多存储快,可以用来存储多副图像或者是决定图像表现行为的控制块,继而实现动图和交互式应用,一个gif图像通常由文件头,gif数据流和文件终结器三个部分组成,目前常见的有87(不支持动图)和89两个版本
wiki:https://ctf-wiki.github.io/ctf-wiki/misc/picture/gif/
mp3
mp3即MPEG-a Audio Layer-3的简称,根据压缩质量和编码的复杂程度可以大致分为3层,分别对应与mp1,mp2,mp3,这三种有损压缩的声音文件,根据用途的不同,每层采用的编码方式也不同,其编码层次越高,编码器就越复杂,压缩率也高,一个mp3文件大致可以分成TAG_V2,Frame,TAG_V1三部分,其中frame是构成mp3的最小组成单位