Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python破解ZIP或RAR文件密码

Python破解ZIP或RAR文件密码

作者头像
Python小屋屋主
发布于 2018-04-16 06:30:27
发布于 2018-04-16 06:30:27
5K0
举报
文章被收录于专栏:Python小屋Python小屋

基本原理在于Python标准库zipfile和扩展库unrar提供的解压缩方法extractall()可以指定密码,这样的话首先(手动或用程序)生成一个字典,然后依次尝试其中的密码,如果能够正常解压缩则表示密码正确。

import os

import sys

#zipfile是Python标准库

import zipfile

#尝试导入扩展库unrar,如果没有就临时安装

try:

from unrar import rarfile

except:

path = '"'+os.path.dirname(sys.executable)+'\\scripts\\pip" install --upgrade pip'

os.system(path)

path = '"'+os.path.dirname(sys.executable)+'\\scripts\\pip" install unrar'

os.system(path)

from unrar import rarfile

def decryptRarZipFile(filename):

#根据文件扩展名,使用不同的库

if filename.endswith('.zip'):

fp = zipfile.ZipFile(filename)

elif filename.endswith('.rar'):

fp = rarfile.RarFile(filename)

#解压缩的目标文件夹

desPath = filename[:-4]

if not os.path.exists(desPath):

os.mkdir(desPath)

#先尝试不用密码解压缩,如果成功则表示压缩文件没有密码

try:

fp.extractall(desPath)

fp.close()

print('No password')

return

#使用密码字典进行暴力破解

except:

try:

fpPwd = open('pwddict.txt')

except:

print('No dict file pwddict.txt in current directory.')

return

for pwd in fpPwd:

pwd = pwd.rstrip()

try:

if filename.endswith('.zip'):

for file in fp.namelist():

#对zip文件需要重新编码再解码,避免中文乱码

fp.extract(file, path=desPath, pwd=pwd.encode())

os.rename(desPath+'\\'+file, desPath+'\\'+file.encode('cp437').decode('gbk'))

print('Success! ====>'+pwd)

fp.close()

break

elif filename.endswith('.rar'):

fp.extractall(path=desPath, pwd=pwd)

print('Success! ====>'+pwd)

fp.close()

break

except:

pass

fpPwd.close()

if __name__ == '__main__':

filename = sys.argv[1]

if os.path.isfile(filename) and filename.endswith(('.zip', '.rar')):

decryptRarZipFile(filename)

else:

print('Must be Rar or Zip file')

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2016-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
利用 Python 破解 ZIP 或 RAR 文件密码
我们经常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用。想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道。本文将会利用 Python 破解压缩包的密码,这里以 ZIP/RAR 为例。
出其东门
2020/02/12
11.1K0
Python压缩与解压zip/rar文件 [附源码]
http://xfxuezhang.cn/web/share/%E8%BD%AF%E4%BB%B6-%E7%94%B5%E8%84%91/python%E5%8E%8B%E7%BC%A9%E4%B8%8E%E8%A7%A3%E5%8E%8B.zip
小锋学长生活大爆炸
2022/03/29
1.7K0
Python压缩与解压zip/rar文件 [附源码]
让Python在后台自动解压各种压缩文件!
编写一个Python程序,每次下载压缩包形式的文件后,自动将内部文件解压到当前文件夹后将压缩包删除,通过本案例可以学到的知识点:
刘早起
2020/11/16
1.7K0
怎么用python做一个解压缩小工具,以后再也不用下载各种格式的解压缩软件了...
经常由于各种压缩格式的不一样用到文件的解压缩时就需要下载不同的解压缩工具去处理不同的文件,以至于桌面上的压缩工具就有三四种,于是使用python做了一个包含各种常见格式的文件解压缩的小工具。
Miloce
2022/09/28
6140
怎么用python做一个解压缩小工具,以后再也不用下载各种格式的解压缩软件了...
Python 怒解 RAR
MacOS 可以直接解压 zip 文件,但 rar 文件却需要下载软件,于是我用了解优,过了段时间提示我需要付费才能用。
somenzz
2021/07/23
1.6K0
有哪些你不知道的python小工具
python作为越来越流行的一种编程语言,不仅仅是因为它语言简单,有许多现成的包可以直接调用。
py3study
2020/01/17
7210
python暴力破解压缩包密码(python暴力破解zip压缩包)
简介: ZIP文件格式是一种数据压缩和文档储存的文件格式,原名Deflate,发明者为菲尔·卡茨(Phil Katz),他于1989年1月公布了该格式的资料。ZIP通常使用后缀名“.zip”,它的MIME格式为application/zip。当前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7z格式。从性能上比较,RAR及7z格式较ZIP格式压缩率较高,而7-Zip由于提供了免费的压缩工具而逐渐在更多的领域得到应用。Microsoft从Windows ME操作系统开始内置对zip格式的支持,即使用户的计算机上没有安装解压缩软件,也能打开和制作zip格式的压缩文件,OS X和流行的Linux操作系统也对zip格式提供了类似的支持。因此如果在网络上传播和分发文件,zip格式往往是最常用的选择。
GeekLiHua
2025/01/21
2400
python暴力破解压缩包密码(python暴力破解zip压缩包)
python zip压缩及解压
·zipfile.ZipFile(file,mode)openaZIPfile,wherefilecanbeeitherapathtoafileorafile-likeobject.modecanberead“r”,write“w”,orappend“a”以某种模式打开ZIP文档.默认值为’r’表示读已经存在的zip文件,‘w’表示新建一个zip文档或覆盖一个存在的同名zip文档,‘a’表示将数据附加到一个现存的zip文档中。
py3study
2020/01/06
1.8K0
Python实战-暴力破解zip文件解压密码
使用的核心模块是python标准库中的zipfile模块。这个模块可以实现zip文件的各种功能,具体可以查看官方参考文档。这里的暴力破解的意思是对密码可能序列中的值一个一个进行密码尝试,这对人来说是很难的,可是对计算机而言并不难。有时候我们下载的zip文件需要密码解压而我们不知道,需要付费才知道。所有这里主要介绍两种暴力破解的密码:纯数字密码和英文数字组合密码。
全栈程序员站长
2022/08/31
2.9K0
Python实战-暴力破解zip文件解压密码
python递归解压压缩包zip,tar,rar
目前代码仅实现了zip递归解包,tar,rar解包和zip解包类似,只用换成tarfile,rarfile模块处理即可
用户7886150
2021/01/22
1.8K0
python写的系统常用命令(一)
      python写的系统常用命令,linux和windows通用,用的时候直接from util import *导入即可使用,很方便,本来是一个脚本,但是博文有字数限制,只能分成两部分发了,第二部分连接:http://wangwei007.blog.51cto.com/68019/960000 。
py3study
2020/01/06
3860
关于文件的压缩与解压
1 #coding:utf-8 2 import tarfile 3 import zipfile 4 import rarfile 5 import os 6 import shutil 7 class parsePackage: 8 def __init__(self): 9 self.funcMap={'tar':self.untar, 10 'zip':self.unzip, 11
Gxjun
2018/03/27
8250
python破解zip压缩包密码
曾经,在网上下载过一份“学习资料”,zip格式的一份不小的压缩文件。 费劲巴拉的从“某盘”下载,却发现解压需要“密码”,顿时心里有句不当讲的话… 为了破解压缩文件的密码,我在搜索引擎输入“python zip”两个关键词。 经过过一番总结,发现破解的思路都是一样的,暴力破解。
未名编程
2024/10/12
3090
python破解zip压缩包密码
Python3目录操作
输出: 'D:\python\jupyter' 'D:\python' ['.ipynb_checkpoints', 'bak', 'jupyter', 'project', 'test.txt', 'testdir', 'Untitled.ipynb', ]
py3study
2020/01/03
7910
一小段Python代码,破解加密zip文件的密码
今天的文章来自 盏茶作酒 同学。他在老电脑中发现了一个加密的 zip 文件,于是用 Python 破解了文件密码。在破解的过程中出现了内存爆炸的问题,通过阅读 Python 源代码找到了解决方案。
Crossin先生
2021/03/26
8.6K0
一小段Python代码,破解加密zip文件的密码
Python实现批量压缩文件/文件夹——zipfile
zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的,
Python研究者
2021/08/30
2.5K0
[2025]最新RAR密码破解方法汇总, 收藏加精
RAR文件作为一种广泛使用的压缩文件格式,不仅以其高压缩率著称,更因其强大的加密功能而备受青睐。尤其是在传输和存储大型文件、数据备份及保护敏感数据时,RAR文件的加密功能显得尤为重要。本文将详细介绍RAR文件加密的原理、方法及其在遗忘密码后如何恢复密码。
用户2557348
2024/12/24
3.2K0
[2025]最新RAR密码破解方法汇总, 收藏加精
python中zipfile模块实例化解
文章内容由--“脚本之家“--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/
py3study
2020/01/15
1.8K0
python中zipfile模块实例化解
Python文件处理(IO 技术)
文本文件存储的是普通“字符”文本,python 默认为 unicode 字符集(两个字节表示 一个字符,最多可以表示:65536 个),可以使用记事本程序打开。注意:像 word 软件编辑的文档不是文本文件。
爱喝兽奶的熊孩子
2024/04/10
2090
Python文件处理(IO 技术)
用Python破解压缩包解压密码代码
在一些特殊的情况下出于保护隐私,用户会对压缩包增加密码,这种情况可以用python通过循环来破解压缩包解压密码,方法原始、简单、粗暴。代码种需要用到zipfile37第三方库。Python 的 zipfile 是一个旨在操作 ZIP 文件的标准库模块。在归档和压缩数字数据时,该文件格式是一种广泛采用的行业标准。可以使用它将几个相关文件打包在一起。它还可以减小文件大小并节省磁盘空间。最重要的是,它促进了计算机网络上的数据交换。
用户9925864
2022/12/16
3.4K0
用Python破解压缩包解压密码代码
相关推荐
利用 Python 破解 ZIP 或 RAR 文件密码
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档