系列文章目录

文章目录

  • 系列文章目录
  • 前言
  • 一、设置压缩包密码
  • 二、python解除压缩密码(1)
    • 1.源码
    • 2.使用方法
  • 三、python解除压缩密码(2)
    • 1.源码
    • 2.使用方法
  • 总结

前言

一、设置压缩包密码

1、打开压缩软件,新建压缩文件,这里使用Bandizip;

2、点击添加或将文件拖进来,点击设置密码-输入密码-开始压缩;

二、python解除压缩密码(1)

问题描述:当我们忘记我们的压缩密码时;

1.源码

zipcrack.py代码如下(示例):

# -*- encoding = 'utf-8' -*-
import zipfile
import optparsedef extractFile(zFile,password):"""解压函数"""try:zFile.extractall(pwd=password.encode('utf-8'))print('[+] Password = ' + password + '\n')return Trueexcept:return
def main():parser = optparse.OptionParser("usage:" + "-f <zipfile> -d <dictionary>")parser.add_option('-f', dest='zname', type='string', help='specify zip file')parser.add_option('-d', dest='dname', type='string', help='Password dictionary')(options, args) = parser.parse_args()if(options.zname == None) | (options.dname == None):print(parser.usage)exit(0)else:zname = options.znamedname = options.dnamezFile = zipfile.ZipFile(zname)try:passFile = open(dname, 'r', )with open(dname, 'r', encoding = 'utf-8') as passFile:for line in passFile.readlines():password = line.strip('\n')flag = extractFile(zFile, password)if flag:print('爆破成功')breakexcept Exception:print('错误输入')if __name__ == '__main__':main()

2.使用方法

运行命令如下:

python zipcrack.py -f  file.zip -d password.txt

password.tex为密码字典(可替换);

三、python解除压缩密码(2)

1.源码

import time
from typing import List
from tqdm import tqdm
from itertools import chain
from zipfile import ZipFilestart = time.time()# chr(97) -> 'a' 这个变量保存了密码包含的字符集dictionaries = [chr(i) for i inchain(range(97, 123),    # a - zrange(65, 91),    # A - Zrange(48, 58))]    # 0 - 9#dictionaries.extend(['.com', 'www.'])    # 添加自定义的字符集#dictionaries = [chr(i) for i in range(48, 58)]    # 0 - 9
file_name = "hello.zip"# 你的文件路径def all_passwd(dictionaries: List[str], maxlen: int):# 返回由 dictionaries 中字符组成的所有长度为 maxlen 的字符串def helper(temp: list, start: int, n: int):# 辅助函数,是个生成器if start == n:    # 达到递归出口yield ''.join(temp)returnfor t in dictionaries:temp[start] = t    # 在每个位置yield from helper(temp, start + 1, n)yield from helper([0] * maxlen, 0, maxlen)zfile = ZipFile(file_name, 'r')    # 很像opendef extract(zfile: ZipFile, pwd: str) -> bool:# zfile: 一个ZipFile类, pwd: 密码try:zfile.extractall(path='.', pwd=pwd.encode('utf-8'))    # 密码输入错误的时候会报错now = time.time()                                      # 故使用 try - except 语句print(f"Password is: {pwd}")                           # 将正确的密码输出到控制台return Trueexcept:return False
# 用 bool 类型的返回值告诉主程序是否破解成功 (意思就是返回 True 了以后就停止)#lengths = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]    # 密码长度
lengths = [4]    # 密码长度
total = sum(len(dictionaries) ** k for k in lengths)    # 密码总数for pwd in tqdm(chain.from_iterable(all_passwd(dictionaries, maxlen) for maxlen in lengths), total=total):if extract(zfile, pwd):    # 记得extract函数返回的是bool类型的哦break

2.使用方法

pip3 install tqdm==4.50.2

安装好后,运行破解脚本即可!


总结

分享:
想像力比知识更重要。因为知识是有限的,而想像力是无限,它包含了一切,推动着进步,是人类进化的源泉。——爱因斯坦

python破解压缩包密码(密码字典)相关推荐

  1. Python破解pdf打开密码

    Python破解pdf打开密码 环境 版本 系统 uos Python版本 Python3 模块 PyPDF2.pikepdf.tqdm 安装相应的模块 sudo pip3 install PyPDF ...

  2. Python破解网站登录密码脚本

    这篇文章主要为大家介绍一个简单的Python暴力破解网站登录密码脚本,文中的过程讲解详细,对我们学习Python有一定的帮助,感兴趣的可以学习一下.编程学习资料点击领取 目录 测试靶机为DVWA,适合 ...

  3. Python破解压缩包密码问题

    所用知识 1. Pool 进程池 2. try...except 异常处理 3.枚举的方式 4.生成器的运用 逻辑关系 通过生成假密码去碰撞!捕获异常,一直碰撞,直到生成的密码与压缩包建立的密码对应, ...

  4. Python破解压缩包密码

    简介: 破解rar和zip压缩包.Windows下使用PyCharm软件. 1.步骤 1.环境 指令pip install 安装. 如果是rar文件需要把rar安装包下的Rar.exe和UnRar.e ...

  5. 使用Python破解zip的密码

    目录 ■代码 ■坑 ■运行效果 ■TODO ■扩展 ■代码 #!/usr/bin/python # encoding: utf-8import zipfileclass unlockZip:def _ ...

  6. 利用 Python 破解 ZIP 或 RAR 文件密码

    利用 Python 破解 ZIP 或 RAR 文件密码 破解原理 实验环境 库 利用 Pipenv 安装 rarfile 编码 准备密码本 读取压缩文件 尝试解压 暴力破解 程序入口 使用 运行结果: ...

  7. 思路+源码,利用Python破解WIFI密码详解,100M的字典已备好

    前言 WIFI破解,Python程序员必学技能.WIFI已经完全普及,现在Python程序员没网,走到哪里都不怕! 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后 ...

  8. python暴力破解压缩包密码(python暴力破解zip压缩包)

    python暴力破解压缩包密码 简介 简介: ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料.ZI ...

  9. 使用Python破解rar压缩包密码

    使用Python破解rar压缩包密码需要使用第三方库,例如rarfile.可以使用rarfile库的RarFile类的extractall方法,通过枚举密码的方式破解rar压缩包的密码.代码示例如下: ...

  10. 使用python暴力破解zip压缩包的密码

    如果你有压缩包的密码忘记了,并且压缩包的加密算法采用的是ZipCrypto,并且压缩参数如下图所示: 那么你就可以使用本文中的方法进行破解. 压缩包的加密,是根据输入的密码进行运算加密,输入不同的密码 ...

最新文章

  1. nyoj841最高位数字
  2. 还在直接操作Redis?赶快来试试它....
  3. android122 zhihuibeijing 新闻中心NewsCenterPager加载网络数据实现
  4. bootstrap实现树节点、树结构
  5. iOS-纯代码编写本地音乐播放器AVAudioPlayer
  6. 原创科幻短篇《高考》
  7. 为什么越长大越不想过生日
  8. Failed to install metadata com.weiwen.common:weiwen-common-core/maven-metadata.xml: Could not parse
  9. leetcode:Permutations1+2nbsp;+nbsp;Rotat…
  10. PHP中高级面试题2018(1)
  11. 接口里面可以写实现方法吗【可以】 、接口可以多继承吗【可以】
  12. 2017下半年掘金日报优质文章合集:Android篇,android开发工程师
  13. 秦皇岛达内传授零基础怎样学平面设计
  14. 超分辨率——综述文章
  15. 关于Windows日志
  16. 〖全域运营实战白宝书 - 运营角色认知篇③〗- 运营的底层逻辑是什么?
  17. TestDirector 8.0下载地址以及安装教程
  18. _bss_start _armboot_start
  19. C++ Test单元测试工具
  20. activiti监听器设置审批人

热门文章

  1. 模式识别的几种基本算法
  2. 量化指标公式源码_最牛通达信量化副图指标公式源码.doc
  3. Python制作任意音频文件
  4. Jeecg弱口令后台上传getShell渗透测试
  5. python读取身份证照片信息_Python身份证照片识别信息,python
  6. 自动控制原理1---自动控制原理基本概念
  7. java getstring_Java String 类 | 菜鸟教程
  8. optistruct线性求解一次二次单元应力位移比较
  9. jmeter录制脚本(代理)
  10. Linux如何实现自动文件同步?