【CTF】【winhex】超详细jpg图片结构分析 | 您所在的位置:网站首页 › 1129294871_16739712178551n.jpeg › 【CTF】【winhex】超详细jpg图片结构分析 |
文章目录
前言段结构字节高位在前段标识段类型文件头文件尾帧开始(标准JPEG)标志08y轴分辨率x轴分辨率组件数量03
定义Huffman表(霍夫曼表)
段长度段数据
参考资料
前言
本文排版有些乱,例子镶嵌在每个知识点里,但整体实例都是按照顺序讲解的,而对于讲过的知识点不再赘述。 本文也将持续更新。 段结构JPG文件由一个个段构成 JPG图片所有数据都是高位在前 字节这个红色框框里的两个数表示一个字节 高位在前什么是高位在前? 例如现实生活中1234,高位在前则表示12 34 而winhex的都是低位在前,在后面会讲到段长度,如00 10,低位在前则表示10 00 段结构包括: 段标识|段类型|段长度|端数据 段标识1字节,固定为FFH,H表示16进制 段类型1字节 文件头名称 SOI 标记码 D8 如图,D8表示本jpg文件的文件头,前面的FF表示段标识 文件尾名称 EOI 标记码 D9 拉到最后,FF D9表示文件尾 帧开始(标准JPEG) 名称 SOF0 标记码 C0名称 SOF1 标记码 C1 C0与C1在一个文件里只会存在一种,下面以C0为例,C1同样操作我们查找 FF C0
后面两个字节00 11表示段长度,将十六进制转为十进制,可以知道后面有15个字节的数据(段长度占了2字节,并且不包括段标识和段类型) 那么我们可以看到后面的数据 标志081个字节 这个标志固定是08 y轴分辨率2字节 计算一下, 与实际的分辨率(高度)一样 x轴分辨率2字节 这两字节表示x轴分辨率,计算一下 与实际上文件的属性是一样的 组件数量03这1个字节固定为03 从03之后的9个字节,都为组件数据,且每个组件数据为3个字节。 组件大小和数量都为固定的。 定义Huffman表(霍夫曼表)名称 DHT 标记码 C4 固定4个FF C4 其中2个记录亮度,2个记录色度 段长度2字节 不包含段标识、段类型 例子在帧开始处讲了 段数据长度为段长度-2 参考资料https://www.bilibili.com/video/BV1MJ411p7Ly/?spm_id_from=333.999.0.0&vd_source=b914a8de9ea8b12ba5cb6d8edd1b346c |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |