【2023 雷泽杯 · Misc】png的秘密

一个关于png结构的题目

一、题目

一张打不开的png文件,唉。

 

二、解题思路

少了头,就给他加上。我比较笨,还是萌新,采用导出16进制,添加后,010editor导入16进制。

添加之后,顺眼多了。然后用png模板扫一下看看有没有大的错误。 

 

两个校验值错误,也进行相应的修改~~

 

这一版的文件还是打不开~(前几版增加了头、修改两个校验值)说明还有错误,于是我们把目光移向右下角的

PNG文件格式中的数据块

数据块符号

数据块名称

多数据块

可选否

位置限制

IHDR文件头数据块第一块
cHRM基色和白色点数据块在PLTE和IDAT之前
gAMA图像γ数据块在PLTE和IDAT之前
sBIT样本有效位数据块在PLTE和IDAT之前
PLTE调色板数据块在IDAT之前
bKGD背景颜色数据块在PLTE之后IDAT之前
hIST图像直方图数据块在PLTE之后IDAT之前
tRNS图像透明数据块在PLTE之后IDAT之前
oFFs(专用公共数据块)在IDAT之前
pHYs物理像素尺寸数据块在IDAT之前
sCAL(专用公共数据块)在IDAT之前
IDAT图像数据块与其他IDAT连续
tIME图像最后修改时间数据块无限制
tEXt文本信息数据块无限制
zTXt压缩文本数据块无限制
fRAc(专用公共数据块)无限制
gIFg(专用公共数据块)无限制
gIFt(专用公共数据块)无限制
gIFx(专用公共数据块)无限制
IEND图像结束数据最后一个数据块

是的:没有符号为EASY的块!!反而缺少了IDAT图像数据块!!

于是我们找到EASY在源码中的位置,修改。可以通过右下角变量窗口,选中EASY,对应的源码会高亮。然后覆写成IDAT对应的16进制值即可,至于IDAT对应的16进制值,可以找一张正确的png图片对照。

 

然后保存为png图片,即可看到:

 

照常看了lsb、zsteg、foremost、binwalk、stegsolve等,没发现异常,猜测图片高度隐写,类似的题目可以看这一篇【2023 雷泽杯 · Misc】我是签到题_Mr_Fmnwon的博客-CSDN博客

于使就通过010editor修改源码中高度的部分,一个大力,就显露了flag 

 在过程中,修改源码,勿忘校验值也要修改哦!


总结

这题是png隐写基础方法的集成者,加深了对png隐写的理解

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值