​​​​​​​如何利用python破解zip加密文件

目录
  • 前言:
  • 一、破解zip加密文件的思路
  • 二、实例代码演示
    • 0、zip的压缩方式
    • 1、解压zip文件
    • 2、实现密码字符的全排列
  • 三、密码是几位未知,也可以破解密码
  • 总结

前言:

日常工作中,会遇到一些加密的zip文件,但是因为某些原因或者时间过长,密码不知道了。但是zip文件中文件有很重要很必须。那么,我们试一试万能的Python,暴力破解密码。

一、破解zip加密文件的思路

  • 准备一个加密的zip文件。
  • zipfile模块可以解压zip文件。

解压时可以提供密码zfile.extractall("./", pwd=password.encode("utf8"))

  • itertools.permutations实现全字符的全排列。

通过函数itertools.permutations("abc", 3)实现全字符的全排列:abc/acb/bca/bac/cab/cba

二、实例代码演示

0、zip的压缩方式

本文介绍的zip文件知道密码一共是4位的,密码字符的范围是a-z1-0。并且不存在重复字符的,不会有“aabb”的密码。zip压缩时是选择了zip传统加密!

1、解压zip文件

导入zipfile模块,使用其中的extractall()函数。

import itertools
filename = "readme.zip"
# 创建一个解压的函数,入参为文件名和密码
# 并使用try-except,避免报错中断程序。
def uncompress(file_name, pass_word):
    try:
        with zipfile.ZipFile(file_name) as z_file:
            z_file.extractall("./", pwd=pass_word.encode("utf-8"))
        return True
    except:
        return False

2、实现密码字符的全排列

import zipfile
import itertools
filename = "readme.zip"
# 创建一个解压的函数,入参为文件名和密码
# 并使用try-except,避免报错中断程序。
def uncompress(file_name, pass_word):
    try:
        with zipfile.ZipFile(file_name) as z_file:
            z_file.extractall("./", pwd=pass_word.encode("utf-8"))
        return True
    except:
        return False
# chars是密码可能的字符集
chars = "abcdefghijklmnopqrstuvwxyz0123456789"
for c in itertools.permutations(chars, 4):
    password = ''.join(c)
    print(password)
    result = uncompress(filename, password)
    if not result:
        print('解压失败。', password)
    else:
        print('解压成功。', password)
        break

文件压缩时,一些注意的事项: 

三、密码是几位未知,也可以破解密码

查过一些资料,zip压缩文件密码最长为12位,在原来的程序上增加上一个for循环就可以实现破解密码了。

import zipfile
import itertools
filename = "readme.zip"
def uncompress(file_name, pass_word):
    try:
        with zipfile.ZipFile(file_name) as z_file:
            z_file.extractall("./", pwd=pass_word.encode("utf-8"))
        return True
    except:
        return False
chars = "abcdefghijklmnopqrstuvwxyz0123456789"
for i in range(12):
    for c in itertools.permutations(chars, i):
        password = ''.join(c)
        print(password)
        result = uncompress(filename, password)
        if not result:
            print('解压失败。', password)
        else:
            print('解压成功。', password)
            break

总结

此方法可以是实现破解zip文件的密码,python可以完成一些好玩的事情。

到此这篇关于如何利用python破解zip加密文件的文章就介绍到这了,更多相关python破解加密文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python 破解加密zip文件的密码

    今天的文章来自 盏茶作酒 同学.他在老电脑中发现了一个加密的 zip 文件,于是用 Python 破解了文件密码.在破解的过程中出现了内存爆炸的问题,通过阅读 Python 源代码找到了解决方案. 下面就来给大家分享一下他的操作. 之前在家里的老电脑中,发现一个加密zip压缩包,由于时隔太久忘记密码了,依稀记得密码是6位字母加数字,网上下载了很多破解密码的软件都没有效果,于是想到自己用Python写一个暴力破解密码的脚本. Python 有一个内置模块 zipfile 可以解压 zip 压缩包.

  • python破解zip加密文件的方法

    首先我们先来桌面创建一个文件 我们创建了一个名为q的txt文件然后我们将它压缩,压缩的时候记得设置上密码 我这边将密码设置为123456, 接下来我们打开我们的编写工具,开始写代码,我这里用的是pycharm,推荐大家使用 这里我们将使用到python的zipfile的模块,编写zip文件口令破解机要从学习 zipfile库的使用方法着手.打开 Python解释器,我们 用help( zipfile)命令进一步了解这个库,并重点看一下 Zip File类中的 extractall方法.这个类和这

  • ​​​​​​​如何利用python破解zip加密文件

    目录 前言: 一.破解zip加密文件的思路 二.实例代码演示 0.zip的压缩方式 1.解压zip文件 2.实现密码字符的全排列 三.密码是几位未知,也可以破解密码 总结 前言: 日常工作中,会遇到一些加密的zip文件,但是因为某些原因或者时间过长,密码不知道了.但是zip文件中文件有很重要很必须.那么,我们试一试万能的Python,暴力破解密码. 一.破解zip加密文件的思路 准备一个加密的zip文件. zipfile模块可以解压zip文件. 解压时可以提供密码zfile.extractall

  • 教你利用Python破解ZIP或RAR文件密码

    一.破解原理 其实原理很简单,一句话概括就是「大力出奇迹」,Python 有两个压缩文件库:zipfile 和 rarfile,这两个库提供的解压缩方法 extractall()可以指定密码,这样的话首先生成一个密码字典(手动或用程序),然后依次尝试其中的密码,如果能够正常解压缩表示密码正确. 二.实验环境 本文采取的虚拟环境为 Pipenv. 库 zipfile:Python 标准库,使用时直接导入即可 rarfile:Python 第三方库 利用 Pipenv 安装 rarfile pipe

  • python简单利用字典破解zip文件口令

    前几天在一本书上看到一篇可以利用字典破解zip文件密码的文章,觉得比较有意思于是研究了一番,在这里分享一下 原理 主要是利用python里自带的zipfile库中的extractall函数来实现的,简单导入zipfile之后,实例化一个ZipFile类.利用extractall()来解压这个文件,并在参数pwd上填入正确密码 这时我们发现执行脚本之后,fate.zip会被正确解压,而填入错误密码则会入下图一样报错 因此 我们可以利用因口令不正确而抛出的异常来测试字典文件中是否有zip文件的密码,

  • 如何使用Python破解ZIP或RAR压缩文件密码

    这篇文章主要介绍了如何使用Python破解ZIP或RAR压缩文件密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们经常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用.想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道.本文将会利用 Python 破解压缩包的密码,这里以 ZIP/RAR 为例. 破解原理 其实原理很简单,一句话概括就是「大力出奇迹」,Python

  • 详解python破解zip文件密码的方法

    1.单线程破解纯数字密码 注意: 不包括数字0开头的密码 import zipfile,time,sys start_time = time.time() def extract(): zfile = zipfile.ZipFile('IdonKnow.zip')#读取压缩包,如果用必要可以加上'r' for num in range(1,99999,1): try: pwd = str(num) zfile.extractall(path='.',pwd=pwd.encode('utf-8')

  • 对python读取zip压缩文件里面的csv数据实例详解

    利用zipfile模块和pandas获取数据,代码比较简单,做个记录吧: # -*- coding: utf-8 -*- """ Created on Tue Aug 21 22:35:59 2018 @author: FanXiaoLei """ from zipfile import ZipFile import pandas as pd myzip=ZipFile('2.zip') f=myzip.open('2.csv') df=pd.r

  • 利用Python破解摩斯密码

    目录 摩尔斯电码 Python实现 摩斯密码对照表 加密 解密 测试 完整代码 总结 在电影<无间道>中,刘建明(刘德华饰)作为黑帮的卧底在一次行动中发现了警察的卧底陈永仁(梁朝伟饰)与黄警督(黄秋生饰)通过摩斯电码进行通讯,经过紧急的群发区域短信 "有内鬼,终止交易" 避免了黑帮头目被抓. 通过动图能看到黄警督和陈永仁仅通过手指的敲击就能完成通讯,是不是很神奇? 摩尔斯电码 摩斯密码的定义如下: 摩尔斯电码( 又译为摩斯密码,英语:Morse code)是一种时通时断的信

  • 利用python设计图像加密技术(Arnold算法)

    目录 1.加密算法要求 2.Arnold置乱原理 3.python实现 4.结果分析与总结 下面展示了图像的加密和解密过程(左边是输入图像,中间是加密后的结果,右边是解密后的图像): 1.加密算法要求 (1)加密算法必须是可逆的,拥有配套的解密算法 (2)必须是安全的,拦截者不能轻易的破解加密方式 (3)不能造成数据量剧增,比如一个1kb的图像加密后变为100kb 2.Arnold置乱原理 Arnold置乱又称为猫脸置乱,据说是因为Arnold首先对猫脸图像应用了这个算法.置乱的含义是置换和打乱

  • 利用Python实现RSA加密解密方法实例

    目录 前言 一.安装模块 二.生成密钥对 三.加密 四.解密 五.完整代码 总结 前言 加密技术在数据安全存储,数据传输中发挥着重要作用,能够保护用户隐私数据安全,防止信息窃取.RSA是一种非对称加密技术,在软件.网页中已得到广泛应用.本文将介绍RSA加密解密在python中的实现. 原则:公钥加密,私钥解密 解释:具体过程的解释请见代码前的注释 RSA加密实验基本流程: 一.选取两个大素数p.q,并计算得到n.phi_n 二.选取常用的e = 0x10001,方便将幂运算优化为左移,加快运算速

随机推荐