Python实用案例,Python脚本,Python实现破译zip压缩包
2021/8/3 17:06:15
本文主要是介绍Python实用案例,Python脚本,Python实现破译zip压缩包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
往期回顾
Python实现自动监测Github项目并打开网页
Python实现文件自动归类
Python实现帮你选择双色球号码
Python实现每日更换“必应图片”为“桌面壁纸”
Python实现批量加水印
前言
今天我们就利用python脚本实现破译zip压缩包。直接开整~
效果展示
过程如下:
-
建立密码字典(常用密码)
-
尝试用每一个密码,来解压文件
-
解压成功,跳出循环
密码字典
比如,现在一个纯数字的六位密码“050825”
可以从依次遍历“000000”到“999999”,把所有的结果保存到txt文件。
这样的缺点就是比较死板,只能是6位数字,另外就是比较占内存。
于是,有个大神写了个“字典生成器”,你需要做的是传入两个参数“字典的组成元素”和“密码的长度列表”
比如,纯数字的“050825”,你就传入如下的参数:
- [0,1,2,3,4,5,6,7,8,9],数字就这9个
- [6],密码的长度
如此,便可按你的要求得到密码的Python 生成器。我们知道,生成器是不占用内存的。
如果数字不过瘾,比如有的密码是字符串。可以考虑在第一个参数中,加入“a-z”和“A-Z”
zipfile解压文件
zipfile模块是python自带的,用于对zip文件的读、写、追加、解压操作等。
“解压”主要是用到ZipFile对象的extractall()方法
extractall(path=None, members=None, pwd=None)方法主要有三个参数。
我们来看一下每个参数的含义:
-
path 指定解压后文件的存储位置
-
members(可选)指定Zip文件中要解压的文件,这个文件名称必须是通过namelist()方法返回列表的子集
-
pwd 指定Zip文件的解压密码(编码“utf-8”)
源码:
import zipfile try: with zipfile.ZipFile('test.zip') as zFile: # 创建ZipFile对象 # 解压文件 zFile.extractall(path='./',pwd=b'1234') print('解压成功!') except: print('解压失败')
进度条可视化
上次的进度条,这次派上用场了,关于进度条,本程序使用 tqdm扩展库,可以参考下面的链接:用python 制作可视化进度条
代码中的tqdm有两个参数:
- 1、密码迭代器
- 2、密码总个数
for pwd in tqdm(chain.from_iterable(all_passwd(dictionaries, maxlen) for maxlen in lengths), total=total): if extract(zfile, pwd): # 记得extract函数返回的是bool类型的哦 break
这是破解的结果:
5%|▌ | 50691/1000000 [00:04<01:23, 11389.24it/s] Password is: 050825 bingo
4s结束战斗...
文章到这里就结束了,感谢你的观看,Python实用脚本系列,下篇文章分享批量下载百度图片
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
⑥ 两天的Python爬虫训练营直播权限
All done~详见个人简介或者私信获取完整源代码。。
这篇关于Python实用案例,Python脚本,Python实现破译zip压缩包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享