Python3 解谜挑战 关卡五

作者: AiFany | 来源:发表于2018-01-22 15:31 被阅读19次
    PythonChallenge.png

    查看上一关过关方法

    关卡五:peak hell Pickle

    5.png

    提示
       图片中的文字为:发音。此处线索不明朗。依旧查看网页源码:

    tips.png

    从上图红色文字:peak hell的发音听起来是否熟悉。其发音和python的包名Pickle的发音很是相似。Pickle实现序列化和反序列化,把数据结构转换成字符串 ,可以保存到文件,方便下次快速恢复,也可以通过网络传输。
       目前为止,线索依然不足够解决问题。点击绿框的“banner.p”,查看内容。

    tips.png

    根据内容可知,很类似于Pickle序列化后的内容。下面是程序:

    import pickle #引入一个序列化和反序列化的包
    import urllib.request as urlre
    file = urlre.urlopen('http://www.pythonchallenge.com/pc/def/banner.p')
    dr = b''#必须是二进制文件
    for jsr in file:
        dr += jsr#将banner.p中的所有序列化字符合为一个整体
    start = pickle.loads(dr)#反序列化
    for gh in start:
        print(gh)#反序列化的内容
    

    上述程序运行后的结果如下:

    tips.png

    根据结果看,内容包括很多空格、井号以及数字。后面的数字可能是前面相应符号的个数,查看真正的输出内容:

    #将序列化的内容输出
    for jj in pickle.loads(dr):
        cc = ''
        for hh in jj:
            cc += hh[0] * hh[1]
        print(cc)
    

    输出结果见下图:

    result.png

    可看出输出的单词为:channel。将浏览器地址的peak.html改为channel.html即可进入下一关。

    不定期更新,欢迎留言,敬请关注!!!

    相关文章

      网友评论

        本文标题:Python3 解谜挑战 关卡五

        本文链接:https://www.haomeiwen.com/subject/giblaxtx.html