Python轻松破解加密压缩包教程详解

目录
  • 一、准备工作
  • 二、开始操作

相信大家都遇到过这种情况,下载文件的时候遇到压缩包又没有密码,或者说自己设置的加密密码,但是忘记了,就很难受~

但是~

在Python程序员面前,这都是小问题!

话不多说,我们直接开始操作.。

一、准备工作

我们先打开一个加密的压缩包尝试原始方法解压一下

然后弹出来让我输密码

正常打不开,如果你点击跳过所有加密,它也不会打开,直接就关闭当前你窗口了。

那正常情况下,我们能怎么办,什么也办不了,下一个会更乖。

我们打开pycharm,新建一个py文件,暂且我把它命名为zip_pwd

灵魂三问:没有pycharm?Python也没有?还不会安装?私我

在这之前呢,我们先要去收集一些信息,比如当前的密码位数与类型。

类型包含包括它有没有特殊字符,有没有字符串,是不是纯数字。

假设我们现在已知信息呢,总共有两个,已知当前密码类型为整形,六位数密码。

我们先创建一个纯数字6位密码库,你也可以去GitHub上面下载一个包含所有字符的密码字典库,这个现在是开源的,破解时间具体要看设置的密码长短、复杂与否。

二、开始操作

回到正题

已知我们现在的密码是六位纯数字,那么怎么自己创建密码字典呢?

首先我们要完成一个文件写入的功能

首先声明一个变量 f

f = open()
# Python内置函数

open是一个IO流,可以完成文件读写功能。

比如说我先想在一个文件里写入一些内容,就可以通过open去做 。

然后我们通过open创建一个文件,名字暂且命名为possword.txt,在加入一个写入方式,以 w方式去写入。

f = open('password.txt','w')

然后通过循环去创建密码,密码设置个1000000

for id in range(1000000)

这时候需要创建一个password变量生成密码,创建之前先导入一个方法的包。

import zipfile

然后通过password可以开始生成密码了 ,这个zfill等于 6位的,再加上换行,因为生成一个密码就要换一行,并且生成密码应该是一个字符串类型。

password = str(id).zfill(6) + '\n'

然后通过f.write方法把password写入到文件当中

f.write(password)

写进去之后要去关闭当前的文件流

f.close()

然后我们来尝试去生成一下,看看能不能成功。

import zipfile

f = open('password.txt','w')
for id in range(1000000)
    password = str(id).zfill(6) + '\n'
    f.write(password)
f.close()

可以看到这里给我们生成了一个possword.txt密码字典,它是一个密码库。

从000000一直到999999它已经全部生成出来了。

这就是一个简单的密码字典生成方式,如果要去生成一个比较复杂的密码肯定不会这么简单,给你们看个一个复杂的,这里我就不演示了,看看就可以了,将近写了一万多行。

所以你们自己想要去生成的话,还得专门好好学一下。

搞定六位数数字密码字典后我们需要完成解决压缩文件密码的函数

首先我们先来声明一个函数 ,取个名字叫file,然后加入两个行参。

第一个是我的压缩文件zipfile,第二个是当前需要传入的密码password

def pwd_file(zipfile,password):

传完行参后写上一个异常处理,调用zipfile,它里面会有一个方法extractall传入两个值,第一个是pwd传入字节,在字节里传入行参,编码集是utf8

tey:
	zipfile.extractall(pwd=bytes(password, 'utf8'))

然后print压缩包密码,打印password

print('压缩包密码:', password)

因为密码库里面密码比较多,只有一个正确的,其它的都是错误的,所以肯定会报错,所以我们要写一个异常处理,写上一个pass就可以了,报错了就给它pass掉。

except:
    pass

这就是一个简单的函数,我们通过zipfile它里面的一个extractall方法去智能的获取正确密码,它是可以自动匹配密码的。

所以说Python牛逼,很多东西都不需要我们去写,直接调用就好了。

然后我们来写上执行函数

先写上一个main函数

def main():

main函数里面,通过zipfile方法把加密的压缩文件代入到代码中。

zipFlie = zipfile.ZipFile('./获取文件密码.zip')

通过pwd生成一个list变量,打开生成的密码文件。

pwd_list = open('./password.txt')

然后我们需要一个一个去试密码,这个是一行一行的去读。

for line in pwd_list.readlines():

读到一个就把它写进去,拿到一个密码删除一个换行符。

pwd = line.strip('\n')

通过pwd_file调用之前写的函数,传zipFliepwd

pwd_file(zipFlie, pwd)

最后写入函数入口,写上一个main,为什么要写这个函数入口呢?不写也可以运行的。

因为它是用来去做测试的。

if __name__是一个测试入口,什么意思呢?

比如我在当前文件下导入了其它文件库,但是我又不想用,我就可以通过if让它不去运行,所以可写可不写,当一个延伸。

if __name__ == '__main__':
    main()

全部代码

import zipfile

f = open('password.txt', 'w')
for id in range(1000000):
    password = str(id).zfill(6) + '\n'
    f.write(password)
f.close()

def pwd_file(zipFlie, password):
    try:
        zipFlie.extractall(pwd=bytes(password, 'utf8'))
        print('压缩包密码:', password)
    except:
        pass

def main():
    zipFlie = zipfile.ZipFile('./获取文件密码.zip')
    pwd_list = open('./password.txt')
    for line in pwd_list.readlines():
        pwd = line.strip('\n')
        pwd_file(zipFlie, pwd)

if __name__ == '__main__':
    main()

我们看看效果,可以看到压缩包的密码已经打印出来了。

如果你要获取的密码越复杂,你的电脑越好就计算的越快。

兄弟们,学废了吗?

原创不易,点个赞支持一下哇~

到此这篇关于Python轻松破解加密压缩包详解的文章就介绍到这了,更多相关Python破解加密压缩包内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python破解同事的压缩包密码

    又是一杯奶茶~ 事情的经过是这样的: 又是奶茶,行吧行吧. 快点开工,争取李大伟回来之前搞定. 李大伟说是6位数字密码 那么我们可以利用python生成全部的六位数字密码 #生成从000000到99999的密码表 f = open('passdict.txt','w') for id in range(1000000): password = str(id).zfill(6)+'\n' f.write(password) f.close() 这样,我们就生成了一个从000000到99999的密码

  • 用python批量解压带密码的压缩包

    项目地址: https://github.com/Mario-Hero/toolUnRar 环境需求 Windows系统 Python 3 对于解压RAR文件,需要安装WinRAR 对于解压7z/zip等其他7-Zip支持解压的文件,需要安装7-Zip 用法 Usage 直接拖入文件夹或压缩文件即可批量解压缩包含密码的压缩文件.如果拖入的是文件夹,则会把该文件夹下的压缩文件解压缩,但不进入下一级目录.通过设置PASSWD来设置字典,通过设置DELETEIT来设置解压后是否删除被成功解压的压缩文件

  • 详解python解压压缩包的五种方法

    这里讨论使用Python解压例如以下五种压缩文件: .gz .tar  .tgz .zip .rar 简单介绍 gz: 即gzip.通常仅仅能压缩一个文件.与tar结合起来就能够实现先打包,再压缩. tar: linux系统下的打包工具.仅仅打包.不压缩 tgz:即tar.gz.先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip.尽管使用相似的算法,能够打包压缩多个文件.只是分别压缩文件.压缩率低于tar. rar:打包压缩文件.最初用于DOS,基于window操作系统. 压缩

  • Python轻松破解加密压缩包教程详解

    目录 一.准备工作 二.开始操作 相信大家都遇到过这种情况,下载文件的时候遇到压缩包又没有密码,或者说自己设置的加密密码,但是忘记了,就很难受~ 但是~ 在Python程序员面前,这都是小问题! 话不多说,我们直接开始操作.. 一.准备工作 我们先打开一个加密的压缩包尝试原始方法解压一下 然后弹出来让我输密码 正常打不开,如果你点击跳过所有加密,它也不会打开,直接就关闭当前你窗口了. 那正常情况下,我们能怎么办,什么也办不了,下一个会更乖. 我们打开pycharm,新建一个py文件,暂且我把它命

  • Python音频操作工具PyAudio上手教程详解

    ​ 0.引子 当需要使用Python处理音频数据时,使用python读取与播放声音必不可少,下面介绍一个好用的处理音频PyAudio工具包. PyAudio是Python开源工具包,由名思义,是提供对语音操作的工具包.提供录音播放处理等功能,可以视作语音领域的OpenCv. 1.简介 PyAudio为跨平台音频I / O库 PortAudio 提供 Python 绑定.使用PyAudio,您可以轻松地使用Python在各种平台上播放和录制音频,例如GNU / Linux,Microsoft Wi

  • Python内置模块Collections的使用教程详解

    目录 1.模块说明 2. 实战代码 (1) testNamedTuple函数 (2) testDeque函数 (3)testDefaultdict函数 (4) testOrderedDict函数 (5) testCounter函数 1.模块说明 collections 是 Python 的一个内置模块,所谓内置模块的意思是指 Python 内部封装好的模块,无需安装即可直接使用. collections 包含了一些特殊的容器,针对 Python 内置的容器,例如: list.dict.set.t

  • 利用Python构建Flutter应用的教程详解

    目录 关于FLET 如何安装 FLET 简单介绍 Flutter 用 FLET 构建简单的应用程序 用户界面 你知道可以用 Python 来构建 flutter 应用吗? Flutter 在软件研发领域是非常流行的,今天就让我们深入了解一下,用 Python 构建 flutter 应用程序的世界! 关于FLET 在开始学习前,了解一下什么是 FLET? FLET 可以使开发人员通过 Python,轻松地构建实时 Web.移动和桌面应用程序,更加疯狂的是不需要你有前端经验,也能让你开发出稳定的 W

  • Python后台开发Django的教程详解(启动)

    Django版本为:2.1.7 Python的web框架,MTV思想 MVC Model(模板文件,数据库操作)  view(视图模板文件  )controller(业务处理) MTV Model(模板文件,数据库操作)  template(视图模板文件) view(业务处理) 安装及访问 安装 pip3 install django 创建目录 如win:在需要创建目录的文件夹按住shift+鼠标右键打开命令行,创建dongjg工程目录 C:\Users\东东\AppData\Local\Pro

  • Python PyInstaller安装和使用教程详解

    Pyinstaller这个库是我用pip下载的第一个模块.接下来通过本文给大家分享Python PyInstaller安装和使用教程,一起看看吧. 安装 PyInstalle Python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块. 安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装即可.在命令行输入如下命令: pip install pyinstaller 强烈建议使用 pip 在线安装的方式来安装 P

  • Python 安装 virturalenv 虚拟环境的教程详解

    一.概述 有时候会在一台主机上安装多个不同的Python版本,用以运行不同时期开发的项目, 而在这些不同的Python版本上有时又会加装不同的库和包.因此需要一种工具来管理各个不同的Python版本和运行环境. virtualenv工具可以为每个Python项目创建一个"独立隔离"的虚拟Python运行环境,而且每个项目都可以为自己独立的Python 运行环境加装不同的扩展包和库,而不影响其他项目. 在使用virtualenv之前,首先需要保证你的操作系统上已经安装了所需的Python

  • Python中Selenium库使用教程详解

    selenium介绍 selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行JavaScript代码的问题 selenium本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转.输入.点击.下拉等,来拿到网页渲染之后的结果,可支持多种浏览器 中文参考文档 官网 环境安装 下载安装selenium pip install selenium -i https://mirrors.aliyun.com/pypi/simple/ 谷歌浏览器驱动程序下载地址:

  • Python可视化绘制图表的教程详解

    目录 1.Matplotlib 程序包 2.绘图命令的基本架构及其属性设置 3.Seaborn 模块介绍 3.1 未加Seaborn 模块的效果 4.描述性统计图形概览 4.1制作数据 4.2 频数分析 python 有许多可视化工具,但本书只介绍Matplotlib.Matplotlib是一种2D的绘图库,它可以支持硬拷贝和跨系统的交互,它可以在python脚本,IPython的交互环境下.Web应用程序中使用.该项目是由John Hunter 于2002年启动,其目的是为python构建MA

  • Python安装与基本数据类型教程详解

    人生苦短,我选Python. Python比其他的语言来说真的简洁多了,很多时候想做的东西都有对应的模块可以导入,平时玩点小东西真心不错. 首先讲一下安装,其实没什么好讲的,点点点点点,完事. 这里的AddPython 3.7to PATH记得勾上,这样你就可以在CMD里面直接使用Python了(打开cmd,输入python就OK啦.) 这里附上最新的Python安装包,win64的. https://www.python.org/ftp/python/3.7.3/python-3.7.3-am

随机推荐