下载图片,查看详细信息,没有结果
winHex打开
文件格式
对于一个 PNG 文件来说,其文件头总是由位固定的字节来描述的,剩余的部分由 3 个以上的 PNG 的数据块(Chunk)按照特定的顺序组成。
文件头 89 50 4E 47 0D 0A 1A 0A + 数据块 + 数据块 + 数据块……
对于每个数据块都有着统一的数据结构,每个数据块由 4 个部分组成
CRC(Cyclic Redundancy Check)域中的值是对 Chunk Type Code 域和 Chunk Data 域中的数据进行计算得到的。
我们打开文件看到的数据:
89 50 4E 47 0D 0A 1A 0A(PNG的文件头) 00 00 00 0D(Length长度 13) 49 48 44 52(Chunk Type Code数据块类型-IHDR)
00 00 01 F4 00 00 01 A4 08 06 00 00 00 CB D6 DF
IHDR
文件头数据块 IHDR(Header Chunk):它包含有 PNG 文件中存储的图像数据的基本信息,由 13 字节组成,并要作为第一个数据块出现在 PNG 数据流中,而且一个 PNG 数据流中只能有一个文件头数据块
其中我们关注的是前 8 字节的内容
所以前8个字节的内容:
00 00 01 F4 (Width)00 00 01 A4 (Height)08 06 00 00 00 CB D6 DF
- 后五个字节依次为:
Bit depth、ColorType、Compression method、Filter method、Interlace method
(可变)剩余四字节为该png的CRC检验码,由从IDCH到IHDR的十七位字节进行crc计算得到
将图片放在Linux下,发现是打不开的,说明图片被截了
最后可以修改图片高度,就可以看到flag