这道题有两种方法,主要就是把bmp文件头,修改成正确格式,图片就可以查看了
拿到文件放入winhex里面分析
发现是个压缩包,修改文件后缀为zip打开,
Somebody leaked a still from the upcoming Happy Feet Three movie,
which will be released in 4K, but Warner Bros. was smart enough
to encrypt it. But those idiots used a black and white bmp format,
and that wasn’t their biggest mistake. Show 'em who’s boss and
get the flag.
有人从即将上映的《快乐大脚3》中泄露了一个静物,
它将在4K发行,但华纳兄弟足够聪明
加密它。但是那些白痴使用黑白bmp格式,
这并不是他们最大的错误。告诉他们谁是老大
去拿旗子。
以及一个ecb.bmp文件
一
修改文件头为
修改第一行即可
之后保存就可以打开图片了
二, 使用脚本修改
将ecb.bmp的前128字节替换为bmp文件格式特有的字节,则可以见到明文信息,实现的Python脚本如下:
from Crypto.Util.number import long_to_bytes
with open('ecb.bmp','rb') as f:
data=f.read()
pre=0x424d76483f00000000007600000028000000000f000070080000010004000000000000483f00000000000000000000000000000000000000000000008000008000000080800080000000800080008080000080808000c0c0c0000000ff0000ff000000ffff00ff000000ff00ff00ffff0000ffffff00ffffffffffffffffffffL
out=long_to_bytes(pre)+data[128:]
with open('out.bmp','wb') as g:
g.write(out)
out.bmp可被照片查看器打开,从而见到flag。