CSAW2013 – deeeeeeaaaaaadbeeeeeeeeeef – (Miscellaneous 200 Points)


We faced a PNG file that we couldn’t see it. Apparently it had some errors… after struggling with the given PNG file we understood that the CRC of the IHDR chunk is corrupted:





#!/usr/bin/python
import binascii
png = open('img.png','r')
a = png.read(33)
#print a
r = a[29:33]

for h in xrange(60000):
    t = a[12:20]
    t += binascii.unhexlify("%08x" % h)
    t += a[24:29]
    print "calc the hex: ", t.encode('hex')
    crc = binascii.crc32(t) & 0xffffffff
    if r.encode('hex')  == hex(crc)[2:]:
        break


print "the right width is: 0x%08x" % h

png.close



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值