网站首页 > 技术教程 正文
前言
今天我们就利用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
这是PY的结果:
5%|▌ | 50691/1000000 [00:04<01:23, 11389.24it/s]
Password is: 050825
bingo
4s结束战斗...
文章到这里就结束了,感谢你的观看,Python实用脚本系列,下篇文章分享批量下载百度图片
为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)、
⑤ Python学习路线图(告别不入流的学习)
总结
文章到这里就结束了,感谢你的观看,为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。
需要我本篇的完整代码或者其他的收藏的一些Python编程干货可以私信我(转发此文私信发我“zip”)
- 上一篇: 7行VBA代码,轻松破解工作表保护密码
- 下一篇: 忘记密码的7-zip文件有什么方法可以解压吗?
猜你喜欢
- 2024-10-19 忘记或者丢失压缩文件密码怎么办(忘记了压缩文件的密码怎么办)
- 2024-10-19 安卓手机解压神器——ZArchiver和RAR
- 2024-10-19 如何在不用任何软件的情况下删除Rar文件的密码
- 2024-10-19 解压缩工具之WinRAR下载安装教程(下载winrar解压缩软件)
- 2024-10-19 忘记zip解压密码怎么找回?有那些方法?
- 2024-10-19 快速掌握 WinRAR:详细安装与使用指南
- 2024-10-19 与WinRAR齐名的经典解压缩软件——WinZip,不仅仅是情怀
- 2024-10-19 mac电脑下使用fcrackzip破解zip压缩文件密码
- 2024-10-19 文件加密系统哪些好用?推荐5款简单易用的加密工具(干货满满)
- 2024-10-19 下载了带颜色的压缩包,密码却错误?教你暴力破解
你 发表评论:
欢迎- 07-15Rocky Linux Nginx 自动更新免费 SSL,全流程实战
- 07-15nginx-1.22.1在linux服务器上的安装
- 07-15Rocky Linux 9 系统下安装Nginx(在linux中安装nginx)
- 07-15Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解
- 07-15Linux-Nginx-反向代理篇-02(nginx反向代理apache)
- 07-15RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)
- 07-15Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 07-15在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- 最近发表
-
- Rocky Linux Nginx 自动更新免费 SSL,全流程实战
- nginx-1.22.1在linux服务器上的安装
- Rocky Linux 9 系统下安装Nginx(在linux中安装nginx)
- Rocky Linux 9.x 从零安装 Nginx 全流程:源码编译 + dnf 安装方案详解
- Linux-Nginx-反向代理篇-02(nginx反向代理apache)
- RockyLinux 9快速部署Nginx+HTTPS(基于DNF安装)
- Stellar Repair for MySQL:受损 MySQL 数据库的专业恢复工具
- 在CentOS7系统源码安装Nginx+MySQL+PHP+Go
- linux通过yum安装nginx和mysql(linux在线安装nginx)
- Chat to MySQL 最佳实践:MCP Server 服务调用
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)