前几天在一本书上看到一篇可以利用字典破解zip文件密码的文章,觉得比较有意思于是研究了一番,在这里分享一下

原理

主要是利用python里自带的zipfile库中的extractall函数来实现的,简单导入zipfile之后,实例化一个ZipFile类。利用extractall()来解压这个文件,并在参数pwd上填入正确密码

这时我们发现执行脚本之后,fate.zip会被正确解压,而填入错误密码则会入下图一样报错
因此我们可以利用因口令不正确而抛出的异常来测试字典文件中是否有zip文件的密码,并利用try expect来处理异常信息。

代码

假定zip文件密码为fate,pwd.txt为字典文件

import zipfile
zFile = zipfile.ZipFile(r"D:\python\fate.zip")
passFile = open(r"D:\python\pwd.txt")
for line in passFile.readlines():password = line.strip('\n')# noinspection PyBroadExceptiontry:zFile.extractall(pwd=password.encode("utf=8"))print("password="+password)except Exception as e:pass

需要注意的是python3以及不支持自动ascii码了,在extractall的pwd参数后需手动添加编码类型,# noinspection PyBroadException则是为了防止PyCharm报错

提高性能

将程序模块化后,在利用多线程处理可以提高程序性能,可以利用Thread来实现多线程处理

import zipfile
from threading import Threaddef extractfile(zFile,password):# noinspection PyBroadExceptiontry:zFile.extractall(pwd=password.encode("utf=8"))print("password="+password)except Exception as e:passdef main():zFile = zipfile.ZipFile(r"D:\python\fate.zip")passFile = open(r"D:\python\pwd.txt")for line in passFile.readlines():password = line.strip('\n')t = Thread(target=extractfile(zFile , password))t.start()if __name__ == "__main__":main()

利用if __name__ == "__main__"使函数只在当前模块运行,当被导入时不运行

结语

以上就是利用字典破解zip文件的全部内容,如有错误,望海涵,有问题欢迎在评论区讨论交流或者私信我。

简简单单利用字典破解zip文件口令相关推荐

  1. 【Python脚本进阶】1.3、第二个脚本:Zip文件口令破解机

    目录 一.简介 概述: 二.示例 示例: 优化 提高性能 任意性 注: 测试方法: 一.简介 概述: 编写Zip文件口令破解机要学习zipfile 库的使用方法 打开Python解释器, 我们用hel ...

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

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

  3. python新建文件夹口令_Python脚本破解压缩文件口令实例教程(zipfile)

    zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求 ,本文主要谈谈zipfile几个常用的用法. 环境:Windows python版本2.7.15 P ...

  4. Python 暴力破解zip文件密码(相对简单的密码)

               Python 暴力破解zip文件密码(相对简单的密码) 密码的使用范围很广,首先,我们要明确密码的作用,其次要明白密码的类型. 密码的作用是进行权限的限制,判断用户的合法性,(不 ...

  5. python暴力破解Zip文件,就是不讲道理

    本次实验将带领大家用Python的zipfile模块实现Zip文件的暴力破解,涉及的知识点包括:zipfile.argparse的用法等等. 一.实验说明 1. 实验简介 我们在网上好不容易下载到一个 ...

  6. python 暴力破解zip文件

    基本原理: 暴力破解(一)--python脚本暴力破解 加密的zip压缩文件简介:zip格式是常见的压缩文件格式,它支持压缩时设置解压密码:有两种加密方式:1传统加密方式和普通的加密方式.传统加密方式 ...

  7. python字典破解zip密码

    python字典破解zip密码 思路 代码 思路 1.用密码字典暴力破解 2.可以根据个人信息设置专用的字典,需要用到itertools工具包来实现排列组合 博主用的字典 代码 已加密压缩文件'sec ...

  8. 利用java进行zip文件解压缩

    利用java进行zip文件解压缩 本文利用Java的zip包中的ZipFile和ZipEntry两个类,获取到压缩包中的所有文件,并将压缩文件通过InputStream写入一个byte数组,再将该by ...

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

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

  10. 暴力破解zip文件密码

    先是用python写了一个,原理网上都有,我加了个界面,方便使用,同目录下放个pwd.txt,里面是密码列表,可以网上下载一些,或自己生成一个. import zipfile from threadi ...

最新文章

  1. sdut 2805(最小生成树)
  2. java中类型的相互转化_Java中的数据类型及相互转换方法
  3. python 投资组合_重新设计投资组合的好处
  4. IntelliJ IDEA for Mac 在eclipse(MacOS)模式下的快捷键
  5. 状压动规_(POJ2817)
  6. 《python透明人士,他是凭什么成为主流编程的宠儿?!》python基础语法
  7. DevOps技术学习路线图 初阶+中阶+高阶
  8. 最新Java面试题,常见面试题及答案汇总
  9. 51单片机学习案例——自学使用
  10. “我爱淘”冲刺阶段Scrum站立会议10
  11. python 群发邮件数量限制_用邮件群发平台群发邮件的数量有限制吗?一般可以发多少?...
  12. LeetCode LCP 03. 机器人大冒险(前缀和)
  13. c语言错误c2059 void,c2059(c语言错误代码c2059)
  14. 百度地图上定位自己所在的位置
  15. 计算机在小学教育教学中的优劣,计算机在小学教学中的应用探析
  16. 删除html表里的数据,如何删除HTML表格行中表格数据之间的空白?
  17. 手机dump内存Odex格式反编译
  18. DataFrame入门丨Pandas数据分析基础(4)
  19. FFmpeg[32] - x264 [error]: high422 profile doesn‘t support lossless
  20. 计算机在英语教学,论计算机在英语教学中的辅助作用原稿(电子版)

热门文章

  1. 高质量图片缩略图生成(编程笔记)
  2. 暴风影音 打开 avi 视频文件时 explorer 出错 关闭
  3. Window系统: 解决 win xp系统 最新版QQ/TIM安装包 报错误 安装包可能被非法改动导致安装失败 云云.2021-02-15
  4. winform设置文本框ctrl+A和双击实现全选
  5. html5音乐播放器格式midi,HTML5 Audio时代的MIDI音乐文件播放
  6. HTML+CSS【超浪漫的表白网页代码】不会编程也能制作送给女朋友的表白网站 (1)
  7. html5里面怎么引入字体
  8. 谷歌归期未定,但敏感词库已经建起来了
  9. 基于物联网平台开发手机混合 App
  10. java枚举菜鸟教程_Java教程--枚举类型使用方法详细讲解