当前位置:首页 > 生活百科

rar密码忘记了怎么解除(rar加密压缩包破解方法)

栏目:生活百科日期:2025-05-17浏览:0

一、破解原理

其实原理很简单,一句话概括就是「大力出奇迹」,Python 有两个压缩文件库:zipfile 和 rarfile,这两个库提供的解压缩方法 extractall()可以指定密码,这样的话首先生成一个密码字典(手动或用程序),然后依次尝试其中的密码,如果能够正常解压缩表示密码正确。

二、实验环境

本文采取的虚拟环境为 Pipenv.

zipfile:Python 标准库,使用时直接导入即可rarfile:Python 第三方库

利用 Pipenv 安装 rarfile

pipenv install rarfile

最后,再将一个带有密码的压缩包放入实验环境中即可。

三、编码

知道原理后,编码就会非常简单了

准备密码本

「密码本」其实就是一个包含了所有可能密码的文件,用户可以手动录入,也可以用程序录入。文末还会有一个介绍。

读取压缩文件

# 根据文件扩展名,使用不同的库if filename.endswith('.zip'):    fp = zipfile.ZipFile(filename)elif filename.endswith('.rar'):    fp = rarfile.RarFile(filename)

尝试解压

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

fp.extractall(desPath)fp.close()print('No password')return

暴力破解

try:    # 读取密码本文件    fpPwd = open('pwd.txt')except:    print('No dict file pwd.txt in current directory.')    returnfor pwd in fpPwd:    pwd = pwd.rstrip()    try:        fp.extractall(path=desPath, pwd=pwd.encode())        print('Success! ====&>'+pwd)        fp.close()        break    except:        passfpPwd.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')

四、使用

如果想要使用上述代码,我们只需在命令行执行python main.py &<filename&>即可。例如python main.py test.zip

运行结果:

$ python main.py test.zip
Success! ====&>323126

五、扩展

密码本如何获取?

然后程序奔溃:

import queuefrom concurrent.futures import ThreadPoolExecutorclass BoundedThreadPoolExecutor(ThreadPoolExecutor):    def __init__(self, max_workers=None, thread_name_prefix=''):        super().__init__(max_workers, thread_name_prefix)        self._work_queue = queue.Queue(self._max_workers * 2) # 设置队列大小

利用 GPU 加速

我们以上的代码都是运行在 CPU 上的,即使开启多线程(进程)也只是利用到 CPU 的资源,但如果想要加速破解过程,我们其实还可以利用闲置的 GPU 资源。

在介绍为什么可以利用 GPU 加速前,我们需要明确一个观点,两者都为了完成计算任务而设计。

那为什么会想到使用 GPU 加速呢?这是就要说到两者的不同了:CPU 虽然有多核,但总数没有超过两位数,并且每个核的运算能力极其强大。而 GPU 的核数远超 CPU,但每个核的运算能力与 CPU 的核相比就相差甚远了。

我们可以简单的举个例子,解一道题,CPU 就是博士生,GPU 就是小学生,CPU 负责理解题目并且整理出解题的步骤以及解法,而 GPU 负责其中很简单但是数量又很大的简单运算就行了。

因此理论上在破解密码的过程中,我们完全可以使用 GPU 来加速这一过程。

事实上,这样的工具也已经出现了,Hashcat 便是最出名的一个,它号称是世界上最快的密码恢复工具,可以基于 CPU/GPU 等工作。

算就行了。

因此理论上在破解密码的过程中,我们完全可以使用 GPU 来加速这一过程。

事实上,这样的工具也已经出现了,Hashcat 便是最出名的一个,它号称是世界上最快的密码恢复工具,可以基于 CPU/GPU 等工作。

“rar密码忘记了怎么解除(rar加密压缩包破解方法)” 的相关文章

健身衣品牌排行榜(3个小众运动服品牌推荐)

捏捏肚子和大腿上的肉,一个可怕的事实:露胳膊露腿的春夏季就要到了!与之而来的还有一个好消息,在天气真正暖和起来之前,你还有时间去健身房跑步撸铁做瑜伽,让自己瘦下...

hpm1005驱动怎么安装(惠普1005打印机win10驱动安装教程

近来有位用户在新购买的惠普笔记本电脑中连接了X4000b蓝牙鼠标,但是却出现了连接失败的问题,提示找不到外围设备驱动。这个问题应该是由于蓝牙鼠标驱动未安装或安装...

wps打不开文件是什么原因,修复wps无法打开的方法

WPS是金山软件开发的一款办公软件WPS的word格式是*.wps如下图所示为.WPS格式office是微软开发的办公软件,以前一直很流行,但是最近几年WPS的...

一千多的安卓触屏手机哪些好用(一千多的安卓手机推荐)

vivoZ6Z6的视觉感官体验显然也比以往有所升级,搭载了一块超小孔径极点屏,开孔大小仅为3.85mm,屏占比达到了90.74%,视觉观感出色。当然了,在最重要...

asp论坛源码免费版(免费的asp网站推荐)

有很多工具可以书写ASP源代码,我使用Windows自带的记事本来编写ASP源代码。下面做一下简要介绍。一.ASP源代码文件的格式1.ASP源代码文件是以.as...

seo站内代码优化方法有哪些,seo站内优化工具大全

SEO优化入门很简单,想精通却很难,需要SEOer自主学习相关的一些知识点和技巧,然后通过大量的实践去进行验证。今天老张就来跟大家说一说代码优化的注意事项。...

2019qq空间达人认证链接,5分钟完成QQ公众空间认证的方

下面教程开始首先准备好手持身份照,正反身份证然后浏览器进企鹅FM网站:http://nextradio.qq.com/QQ快捷登录提交资料申请主播,1-2天审核...

2020年易通贷最新消息(易通贷经济犯罪内幕大曝光)

5月9日消息,据北京市海淀公安官微消息显示,2018年以来,面对涉众型经济犯罪带来的严峻挑战,积极践行“两级经侦力量建设”战略部署,探索完善“涉众型案件专案机制...

企业数字化转型有什么意义,简述转型战略以及三要素

数字化转型,你还在起了个大早,赶了个晚集?如今,企业都在谈数字化转型,可喊口号者甚多,实践者寥寥,究其原因,乃思想与认识未到位,方法与措施不明确,此次易观将全面...

cnpm与npm有什么区别(2者区别对比分析)

npm改成淘宝镜像与cnpm区别之前一直以为npm改成淘宝镜像后和cnpm本质是一样的,今天在研究package-lock.json时候发现,这两者还是有很大区...