BUUCTF-MISC-大白

本文详细介绍了PNG图像格式的结构,包括文件头、IHDR块(包含图像尺寸和类型)、可选的PLTE块(索引色调色板)以及IDAT块(压缩数据)。特别指出在010Editor中修改图片高度可能揭示flag的提示。
摘要由CSDN通过智能技术生成

解题思路:
010editor中修改图片高度即可在图片中看到flag:

修改之后:

PNG(Portable Network Graphics)是一种无损压缩的位图图像格式,它设计用于在互联网上传输图像。PNG 图片的结构包括以下几个主要部分:

1. 文件头(File Header)**:PNG 文件的开头是 8 字节长的文件头,用于标识文件类型和版本。文件头的字节序列为:`89 50 4E 47 0D 0A 1A 0A`,其中 "89 50 4E 47" 是 "PNG" 的 ASCII 码,后面的字节是特定的分隔符和控制字符。

2. IHDR 块(Image Header Chunk)**:紧接着文件头的是 IHDR 块,它包含了图像的基本信息,如宽度、高度、位深、颜色类型、压缩方法、过滤方法和交织方法。IHDR 块的结构如下:

   - 长度(4 字节):表示 IHDR 块的总长度,不包括长度字段本身和 CRC 校验字段。
   - 类型(4 字节):表示块的类型,对于 IHDR 块,类型为 "IHDR"。
   - 数据(可变长度):包含图像的基本信息,具体包括:
   - 宽度(4 字节):图像的宽度,以像素为单位。
   - 高度(4 字节):图像的高度,以像素为单位。

   - 位深(1 字节):每个样本的位数。
   - 颜色类型(1 字节):表示图像的颜色类型,如灰度、RGB、索引色等。
   - 压缩方法(1 字节):表示图像数据的压缩方法,PNG 规定为 0(Deflate/Inflate 压缩)。
   - 过滤方法(1 字节):表示图像数据使用的过滤方法,PNG 支持 5 种过滤方法。
   - 交织方法(1 字节):表示图像数据是否交织以及如何交织。
   - CRC 校验(4 字节):用于验证 IHDR 块的数据完整性。

3. PLTE 块(Palette Chunk)**(可选):如果图像是索引色或灰度,PNG 文件可能包含一个 PLTE 块,用于存储调色板信息。PLTE 块的结构类似于 IHDR 块,包含长度、类型、调色板数据和 CRC 校验。

4. IDAT 块(Image Data Chunk)**:IDAT 块包含了经过压缩的图像数据。一个 PNG 文件可以有多个 IDAT 块,它们串联在一起形成完整的图像数据

flag{He1l0_d4_ba1}

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值