我大学剩下一年半的生活(九)——pythonchallenge之level8

来源:互联网 发布:vc 进行可视化编程 编辑:程序博客网 时间:2024/04/19 22:57

python challenge level 8 url: http://www.pythonchallenge.com/pc/def/integrity.html

level8的题目真的把我囧到了,为什么在那张图上的动物叫作蜜蜂?我觉得应该叫苍蝇阿!!!不信的话使用google搜索“fly”的图片,这绝对是只苍蝇阿~~~算了,这个问题就不纠结了,这个题其实不算是我自己做出来的,因为在网上想搜索一些信息的时候全是这一题的答案。。。虽然这道题不算是我做出来的,不过可以对这道题分析一下。

首先,这个页面的提示告诉我们在页面上有链接,但是不知道在那,于是我就打开了页面的源代码,发现了<map>标签,这就是这道题的链接所在。这个链接的位置在所谓蜜蜂的翅膀附近,点击之后会得到一个对话框,提示输入密码和用户名,还有一句:“The site says: "inflate"”。再次回到源代码中,在代码的最下方有一段注释,这段注释中给出了用户名(un)和密码(pw)。不过这些信息都不是原始的字符串,而是经过处理的一段字符串,很有可能是经过转换编码或者是加密之后的字符串。我在最开始的时候以为这是使用的unicode的编码方式,但是后来我发现不对,这并不是unicode的编码方式,在这两段字符串的开头都有一段奇怪的字符串,于是我就想搜索一下这段字符串,看看这段字符串是不是有什么特殊的意义,最后搜索的结果是全部都是这道题的解答。。。

这段奇怪的字符串其实是bzip2压缩格式的开头(其他blog上说是google说的,但是我找到的只有这些blog),所以只需要使用python中的bz2模块来解压这两个字符串就行了。

#! /usr/bin/env python'''python challenge level 8question url: http://www.pythonchallenge.com/pc/def/integrity.htmlanswer url: http://www.pythonchallenge.com/pcc/return/good.html:huge:file'''un = 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'pw = 'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08'import  bz2print "user name:", bz2.decompress(un)print "password:", bz2.decompress(pw)

这样就可以得到user name: huge、password: file这两条输出。当我们在点击“蜜蜂”翅膀的时候输入对应的信息就可以到下一题去了。下一题的链接为:http://www.pythonchallenge.com/pc/return/good.html

答案的链接为:http://www.pythonchallenge.com/pcc/return/good.html,可以参考一下答案的解答。

原创粉丝点击