那一抹笑靥,让人心醉 解题

http://jluctf.sinaapp.com/Chall/id/27

学校的一道ctf题,作为小白,当然做不出来这种高深的题目,为防止链接失效,先介绍一下题目



就是这样一张图片,是GIF格式的

你能看到她笑的全部过程么?

文件损坏了!天哪!你能修复好文件么?

然后告诉我修复好的文件的sha1值好么?提交到key即可。

这个题目要提交的答案就是修复好的文件的sha1值,40位的16进制数。

虽然说被损坏了,但是因为Windows8和10太高级了,是可以把图片打开显示的,

用winhex打开图片,会在结尾很明显的发现一段

但很无奈的是并不知道文件结束标示符是什么,就去查GIF的文件格式,网址如下

http://blog.csdn.net/wzy198852/article/details/17266507

结束标示符是一个分号,16进制值为0x3B,删掉这个标识符后的东西

但是。。。还是不对。

为什么呢,因为这样在win7下还是显示不了的(这道题是在win7环境下编写的),这个时候需要去看文件头


就是这个,也就是说每个GIF图片的开头都是GIF89a或者GIF87a

再之后是图片的宽度和高度,各占两个字节,在文件属性-详细信息里可以找到图片的大小,是215*139,转化成16进制就是  0xd7 0x8b

把原来的 FF FF EE EE 改成D7 00 8B 00就好了,之后可以通过winhex带的工具计算出其sha-1值,提交就可以。


我没那么精明,因为之前理解错了一个地方,以为两个字节就是两位数,所以只改了 FF FF 成 D7 8B,这就被坑了,怎么算都不对

不对怎么办呢,去网上搜一下原图呗,谷歌,百度,一起用,终于知道了这个让人心醉的笑是 新垣结衣,之后找到了那张GIF图,用winhex打开,发现它的图片宽度高度形式是C8 00 8B 00,终于知道错在哪里,改之提交,真好,那种放松感。


提醒:直接用网上找到的原图来计算sha-1值是不正确的,出题者故意把图片做了一下修改,这个捷径也没有了,不过这也倒是一个好方法,要记下来。



























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值