废柴训练题
一次图片隐写训练题记录
一开始还不知道怎么发文章,还是没找到,我只能爬爬爬爬
一,简单属性(这不有手就行.jpg
右击属性一把梭
二, IHDR(图片的长宽高被修改)
先打开010editor,康康有没有输出类似的东西
如果有这种类似的输出的话,就代表有些参数被修改了
在010里看到IDHR的值和正常的不匹配,(其实你可以稍微加大图片尺寸,改大一点
或者利用exp直接一把梭就可以知道原来的分辨率多少了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| import os import binascii import struct misc = open("IHDR.png","rb").read() #print(misc[0x0c:0x0f+1]) # 爆破高
crc32_bytes = misc[0x1d:0x20+1]# 读出bytes crc32_hex_eval = eval('0x' + crc32_bytes.hex())#bytes串 -> hex串 -> 值 print(crc32_hex_eval) for i in range(4096): data = misc[0x0c:0x0f+1] + misc[0x10:0x13+1] + struct.pack('>i',i)+ misc[0x18:0x1c+1] #IHDR数据 crc32 = binascii.crc32(data) & 0xffffffff if crc32 == crc32_hex_eval : #IHDR块的crc32值 print(i) print("height_hex:"+ hex(i))
|
图片格式小知识
三,grep命令分离出flag
懒得开vm,所以直接用我的小米6的termux当作环境
grep -a “BJD” lsb/grep.jpeg
直接一把梭
有手就行.jpg