bugku 杂项入门题之隐写
继续开启全栈梦想之逆向之旅~
这题是bugku的杂项题的隐写
文件下下来后是一个Png图片,缩略图看得还是比较清晰的。
我默认用的万能联播打不开:
用windows的照片应用打开也没有东西
图片题按照常规思路是winhex打开搜索FLAG的,无果,转成word文档以为藏在图片下,移开图片也没有东西。没办法,积累太少了,只能是自己没学到的东西了,看了WP:
暂时不懂EXIF什么东西,还没学到,不过别人的WP说要改png长宽比,说是只要宽高大于原图的宽高就可以把全图显示出来。
附上PNG文件格式头:
我们的图片格式:
这里把A4改为前面的F4即可打开图片。
—————————————————————————
分隔线:
后来学习了一下后我认为的正确做法是:
图片用tweakpng打开,tweakpng报错说CRC不对(windows自带照片是不管CRC错不错都打得开的)。
tweakpng报错这里有两种可能:
1:可以尝试用十六进制编辑器打开图片,修改CRC(改成tweakpng提供的)。
2:用十六进制编辑器修改图片尺寸了。
因为这里已经知道是尺寸问题了,所以用脚本计算尺寸。
计算正确尺寸的python脚本:
import os
import binascii
import struct
crcbp = open("xxx.png", "rb").read() #打开图片
for i in range(2000):
for j in range(2000):
data = crcbp[12:16] + \
struct.pack('>i', i)+struct.pack('>i', j)+crcbp[24:29]
crc32 = binascii.crc32(data) & 0xffffffff
if(crc32 == 0x38162a34): #图片当前CRC
print(i, j)
print('hex:', hex(i), hex(j))
这里显示正确尺寸是宽高都是500*500,所以根前面一样把A4改为前面的F4即可打开图片。