PythonChallenge 挑战之路 Level-20

本文详细解析了一次解谜挑战的过程,从初始困惑到通过借鉴他人线索最终解决问题。采用Python脚本,利用正则表达式、HTTP请求等技术手段,成功从网站上获取隐藏信息并进行解码,最终揭示谜底。此过程展示了利用编程解决复杂问题的能力,同时也强调了在技术挑战中分享和利用资源的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这一关没有头绪,参考了别人的线索才整出来了……

import urllib,re
url = 'http://butter:fly@www.pythonchallenge.com/pc/hex/unreal.jpg'
#start = 30203
#start = 2123456743
start = 1152983631
end = 2123456789
find = re.compile(r'bytes \d*-(\d*)')
while start<end:
    opener = urllib.FancyURLopener()
    opener.addheader('Range','bytes=%d-%d' % (start,end))
    f = opener.open(url)
    start = re.findall(find,str(f.info()))
    if len(start)>0:
        start = int(start[0])+1
    #print f.info()    
    open(r'F:\Python challenge\out20.zip','wb').write(f.read());break
从30203开始,显示为:

Why don't you respect my privacy?

we can go on in this way for really long time.

stop this!

invader! invader!

ok, invader. you are inside now. 

从2123456743开始,显示为:

and it is hiding at 1152983631.

esrever ni emankcin wen ruoy si drowssap eht

最后从1152983631开始,可以下载一段文件,解压密码就是invader颠倒过来:redavni

打开压缩包就过关了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值