PythonChallenge 挑战之路 Level-26

这一关需要前几关的几个未用的线索。首先这一关的提示有:

<title>be a man - apologize!</title>
<!-- you've got his e-mail -->
I'm missing the boat

其中第二个说你已经有了他的邮件,而且需要你去道歉,那么到目前为止联系最紧的就是19关(反转音频的每一帧)里面出现的邮箱,其次在23关中的第一条暗示<TODO...>中说你欠某个人一个道歉,去告诉他‘sorry',所以第一步就是给leopold.moz@pythonchallenge.com发一封邮件,主题内容就用sorry,然后就可以得到一份回信了:

Never mind that.
Have you found my broken zip?
md5: bbb8b499a0eef99b52c7f13f4e78c24b
Can you believe what one mistake can lead to?

而这个broke.zip正是在24关中获得的一个压缩包,不过当时无法打开,这里提示说有一个字节发生错误,并给出了正确的md5码,那么第二步就是要去修正这个压缩包了,代码:

import md5
f = open('mybroken.zip','rb').read()
for i in range(len(f)):
    for j in range(256):
        newtext = f[:i]+chr(j)+f[i+1:]
        if md5.md5(newtext).hexdigest() == 'bbb8b499a0eef99b52c7f13f4e78c24b':
            open('mybroken_new.zip','wb').write(newtext)
最终在正确的压缩包内得到一张.gif图片:


但是谜底并不是speed,再看一开始的第三条暗示,miss的双关(想念,丢失),所以谜底应该是speedboat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值