threst's Blog

常见文件格式分析

2018/06/01 Share

文件格式概述

文件格式实质上是信息的一种特殊的编码方式,计算机在存储信息时,由于信息种类的不同,所采取的文件格式也不同,在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的最小组成单位

CATALOG
  1. 1. 文件格式概述
    1. 1.0.1. txt格式
    2. 1.0.2. doc/docx格式
    3. 1.0.3. png格式
    4. 1.0.4. jpeg格式
  2. 1.1. bmp格式
  3. 1.2. gif格式
    1. 1.2.1. mp3