The Python Challenge Level-8 Solution

本文分享了ThePythonChallenge网站第8关的解决方案,重点介绍了如何利用bz2模块解压获取到的用户名和密码,从而顺利进入下一关。

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

The Python Challenge Level-8 Solution

先附上我在Github上存放的代码仓库: The Python Challenge

这道题目消耗了我相当长的一段时间,让我对str和byte也有了一个新的认识。

首先还是老样子,进入网页源代码,看看里面有什么

首先引入眼帘的是一大串坐标代码,加上第七题的做法,很容易让人产生误会。我也试着去把他门转换了一下,发现并没有什么用处,然后就把目光集中在了里面的链接上,点了一下,需要用户名和密码,随便输入了123,并没有什么效果

再看看源代码底部有’un’和’pw’,刚好两个,而且和’user name’ ‘password’相对应。
但是这两串字符又有什么意义呢?

我查了一下,发现这实际上是经bz2压缩后的信息,于是开始编写程序解码

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
__author__ = 'Yuuki_Dach'

import bz2

un = b"BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084"
pw = b"BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08"
print(bz2.decompress(un))
print(bz2.decompress(pw))

得到用户名和密码就能进入下一关了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值