小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

那天晚上

小明和你一样

在某个小网站上搜寻某些

私密的学习资料


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

突然看到论坛有人提供了

一个非常牛逼的资源

小明怀着激动的心情

下载了下来


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

他怀着激动的心情

打开了这个压缩文件

看到就只有这么一个 txt


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

小明就是一顿双击

可是突然发现

这玩意居然需要密码


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

???

裤子都脱了

你给我看这个?


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

小明只好找到楼主

求他给下解压密码

对方只是冷淡的回应了一句

“250块钱不讲价”

小明摸了摸自己

刚穿上裤子的口袋

感叹了一句:


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

骂了一句楼主没良心之后

小明叹了口气…

回到 zip 文件面前

想着碰碰运气

随便输了几个密码

可惜都是错误的


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

这可咋办呢?

看不到文件内容

心理贼难受


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

过了一会

小明灵光一闪

这不,关注了

“学习 Python 的正确姿势”

这个公众号有段时间了

自己用 Python 来把密码给破解了

应该不难吧?


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

于是小明看了一下

Python 文档

找到了一个叫做

zipfile 的库

专门用来操作 zip 文件的


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

往下拉

小明突然看到这个方法


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

小明心中一乐

这不正是我想要的嘛

使用 extractall 方法解压文件

pwd 传入 zip 密码就可以了

自己不知道密码

一个一个试就太慢了

小明突然想到了这玩意


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

让 Python 疯狂的去调用这个 extractall 方法

每次传入的 pwd 都不同

直到试到密码正确为止

这不就只是时间问题了么?


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

思路有了

代码撸起

小明希望可以开发一个破解脚本

说不定以后还可以用得着

像这样


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

可以让 Python 直接暴力破解

也可以传入自定义的密码字典文件去破解

于是他使用了 click 来定义

命令参数的使用


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

可以通过 b 的参数值

判断使用哪种破解方式


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

首先来写一下字典破解的方式

使用这种方式

说明用户手上有密码字典文件了


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

那么只要读取这些密码

挨个去解压就 ok

首先使用 ZipFile 打开

要破解的压缩文件


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

接着打开用户传入的字典文件

挨个密码读取


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

接着就可以调用 extractall

来依次尝试密码了

如果没报密码错误

说明密码正确

把正确的密码打印出来

否则就是错误密码

或者

你这字典密码压根就没有正确的密码


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

ok

传入一个 10000 个密码的字典文件

试着运行一波


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

恩,还可以

不过字典文件密码太少

没那么轻易找得到


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

接下来再来写另一种情况

当用户字典密码文件找不到正确的

或者用户压根就没有字典密码咋办

可能你也想到了

可以使用迭代呀


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

于是

小明把键盘的按钮都

死命敲了个遍


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

然后使用 itertools 的 product

就可以迭代生成各种密码了

比如要生成各种 6 位的密码

就可以这样


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

运行起来就是这样的


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

因为不知道密码的长度

所以可以从一位数的密码开始生成

然后逐个击破


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

同样的

将每次生成的密码

逐个尝试


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

如果发现一位数的密码都不正确

就将生成的密码长度 +1

以此类推


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

来试试


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

恩,有内味了


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

写完之后

小明就用字典文件开始跑他的压缩密码了


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

等啊等啊等啊

感觉密码应该不是很简单

需要等一段时间

索性就让它跑着

然后睡觉去了


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

小明第二天起来

发现密码出来了!!


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

虽然小明感觉被这密码

嘲讽了一番

但还是怀着激动的心情

小明打开了压缩文件

输入了密码


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

密码正确

打开文件

天机不可泄露


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

小明看到之后

直接哭晕在厕所


小明用 Python 开发一个 【暴力破解压缩文件 zip 密码】,省了 250 块钱

(完)

本故事纯属虚构

如有雷同

???

咱们下回见

peace!

原创文章,作者:27149,如若转载,请注明出处:http://wpbbw.com/4501.html

发表评论

登录后才能评论