1. 简介

使用的核心模块是Python标准库中的zipfile模块。这个模块可以实现zip文件的各种功能,具体可以查看官方参考文档。这里的暴力破解的意思是对密码可能序列中的值一个一个进行密码尝试,这对人来说是很难的,可是对计算机而言并不难。有时候我们下载的zip文件需要密码解压而我们不知道,需要付费才知道。所有这里主要介绍两种暴力破解的密码:纯数字密码和英文数字组合密码。

2. 文件创建

首先测试文件为test.txt(仅包含单行文本),压缩后文件为test.zip,压缩密码为2340,压缩后删除目录下的txt文件。

上图注意勾选传统加密。

3. 纯数字密码

指的是不用0开头的数字密码,0开头见后面的字母组合。原理就是zipfile模块解压压缩文件时,一旦密码不正确,程序会终止,在try语句只有成功解压的密码才会执行到extract函数调用后面的语句。

代码:

import zipfile
import time
import threading
startTime = time.time()
# 判断线程是否需要终止
flag = Truedef extract(password, file):try:password = str(password)file.extractall(path='.', pwd=password.encode('utf-8'))print("the password is {}".format(password))nowTime = time.time()print("spend time is {}".format(nowTime-startTime))global flag# 成功解压其余线程终止flag = Falseexcept Exception as e:print(e)def do_main():zfile = zipfile.ZipFile("test.zip", 'r')# 开始尝试for number in range(1, 9999):if flag is True:t = threading.Thread(target=extract, args=(number, zfile))t.start()t.join()if __name__ == '__main__':do_main()

显然,解压成功,这里提一下这种编码 密码的方式只适用于传统zip加密,winrar有一种新式的默认加密方式,是不可以的。

4. 字母数字混合密码

这里情况密码组合太多,为了防止内存溢出,改用迭代器。这种情况费时很久,可以闲来无事挂着脚本。这里再次压缩文件,密码为python。

import zipfile
import random
import time
import sysclass MyIterator():# 单位字符集合letters = 'abcdefghijklmnopqrstuvwxyz012345678'min_digits = 0max_digits = 0def __init__(self, min_digits, max_digits):# 实例化对象时给出密码位数范围,一般4到10位if min_digits < max_digits:self.min_digits = min_digitsself.max_digits = max_digitselse:self.min_digits = max_digitsself.max_digits = min_digits# 迭代器访问定义def __iter__(self):return selfdef __next__(self):rst = str()for item in range(0, random.randrange(self.min_digits, self.max_digits+1)):rst += random.choice(MyIterator.letters)return rstdef extract():start_time = time.time()zfile = zipfile.ZipFile("test.zip")for p in MyIterator(5, 6):try:zfile.extractall(path=".", pwd=str(p).encode('utf-8'))print("the password is {}".format(p))now_time = time.time()print("spend time is {}".format(now_time-start_time))sys.exit(0)except Exception as e:passif __name__ == '__main__':extract()

5. 补充说明

很多人反馈这个方法无效,这主要是因为文件路径不正确(我的代码是默认该Python脚本所在目录下的zip文件进行解压的)和加密方式并非传统加密。这种暴力破解方法只在自己大致记得密码位数和密码格式(如只有字母等)时比较实用,完全的暴力破解是不现实的,毕竟做加密的也不是白做的。

Python破解zip文件解压密码相关推荐

  1. Python实战-暴力破解zip文件解压密码

    简介 使用的核心模块是python标准库中的zipfile模块.这个模块可以实现zip文件的各种功能,具体可以查看官方参考文档.这里的暴力破解的意思是对密码可能序列中的值一个一个进行密码尝试,这对人来 ...

  2. 手把手教你使用Python解决简单的zip文件解压密码

    简介 使用的核心模块是python标准库中的zipfile模块.这个模块可以实现zip文件的各种功能,具体可以查看官方参考文档.这里的暴力破解的意思是对密码可能序列中的值一个一个进行密码尝试,这对人来 ...

  3. 如何用C语言编写暴力破解压缩文件解压密码的程序

    由于有一个重要的Rar文件,极需解开,首先试用了ARPC,但是解压的速度极慢,每秒只有30个左右,所以断了穷举破解的念头,却仍不死心,因为我从不崇尚穷举破解的方法,除非每秒可以跑几千万次的,我或许可以 ...

  4. [转载] python zip 文件解压中文乱码问题解决

    参考链接: Python zip() 今天突然碰到zip文件解压后中文乱码问题.百度了下觉得这篇文章不错.保存保存. 来源:http://blog.sina.com.cn/s/blog_5805e98 ...

  5. Java实现Zip文件解压

    2019独角兽企业重金招聘Python工程师标准>>> ##1. 两种java实现zip文件解压方式 使用JDK的原生类java.util.zip,上代码: import java. ...

  6. 解压文件到服务器是什么意思,linux中zip文件解压命令是什么

    linux中zip文件解压命令是什么 发布时间:2020-10-15 14:35:15 来源:亿速云 阅读:102 作者:小新 这篇文章给大家分享的是有关linux中zip文件解压命令是什么的内容.小 ...

  7. C++实现解zip解压缩功能:将一个目录内的内容打包到zip文件以及将zip文件解压到某个目录(windows平台)

    本例用来简单实现windows平台下如何将一个目录下的文件压缩到指定的zip文件中,亦或是将一个zip文件的内容解压缩到某个目录. 以下是源码,代码中的注释解释了相关操作,一看就懂. 注: 本例将这两 ...

  8. android zip文件读写,【Android】Zip文件解压方法

    android中zip文件解压 public class ZipUtil { /** * 解压到指定路径 * * @param inputStream * @param outPathString * ...

  9. iebook2010+绿色破解版的解压密码

    iebook2010+绿色破解版的解压密码是:elysiac 在哪下载呢,你们懂得 近期公司要出版在线的电子杂志,如果真用.net做电子杂志,真的难度好大,如果真用flash做......那就更麻烦 ...

  10. linux 解压文件乱码,云服务器:解决linux下zip文件解压乱码问题

    云服务器:解决linux下zip文件解压乱码问题 原因 由于zip格式并没有指定编码格式,Windows下生成的zip文件中的编码是GBK/GB2312等,因此,导致这些zip文件在Linux下解压时 ...

最新文章

  1. SymmetricDS 完全配置安装手册
  2. ASP.NET Core Web API中使用Swagger
  3. 小程序 foreach_【第2106期】小程序依赖分析实践
  4. 安卓手机软件开发_无代码手机app软件开发,让人人都是专业开发工程师
  5. iOS ipv6审核被拒绝的解决方案(已审核通过)
  6. oracle中 initcpa,oracle  11g rman备份
  7. XBug:一个强大的JavaScript调试器
  8. Flutter 入门安装——C#程序喵的Flutter之旅
  9. hsf端口_分布式服务框架HSF
  10. matlab lte rsrp,为什么选择 FieldFox 手持式分析仪?- 更宽带宽,更高精度
  11. VUE博客模板----FXBLOG
  12. CPU卡PSAM卡 响应指令错误码
  13. 经超计算机求职电视剧,经超电影,电视剧全集_经超影视作品大全推荐 - 剧知晓...
  14. 本章设计了三种不同的神经网络,神经网络简答题
  15. 牛气霸屏v4.1.8
  16. Javaweb安全——Weblogic反序列化漏洞(一)
  17. 对自动控制原理的模值和相角公式的一点总结
  18. 十二个一的朝堂江湖大梦
  19. Java中字符串开头,java中如何判断字符串是以什么开头
  20. 北大操作系统陈向群第六章知识点

热门文章

  1. HCIP认证学习day2
  2. 房产交易进化:探索“去中介”无人区
  3. 关于解决国内手机号不能用于gmail邮箱注册问题
  4. CSS基础:常用CSS英文字体介绍
  5. 《大话设计模式》学习笔记:
  6. 在 vmware ESXi上安装mac系统虚拟机
  7. 计算机蓝屏代码0x000000ED,XP系统蓝屏提示错误代码0x000000ED怎么办?
  8. 智能衣橱控制系统的设计
  9. c语言给数组整体赋值,c语言给数组赋值有哪些形式
  10. 中华流传十大吉祥图解