生成密码字典是一种通常用于破解密码的技术,其中的ITertools工具库可以帮助我们自动化生成一个包含大量可能密码组合的密码列表,提供给我们进行密码破解。以下是创建密码字典并多线程破解密码的完整攻略:
准备工作
在开始之前,需要安装 python
和 rarfile
两个工具包,分别用于编写脚本和解压密码保护的RAR文件。
你可以通过pip来安装这两个包:
pip install rarfile
生成密码字典
我们使用itertools
中的product
函数生成密码组合。假设密码长度为4个字符,且我们仅使用大小写字母和数字字符作为组合元素:
import itertools
combo = itertools.product('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890', repeat=4)
for i in combo:
print(''.join(i))
在此处,我们将组合放入名为combo
的迭代器中,然后打印每个组合作为密码字典中的一个条目。
破解RAR文件密码
我们将使用rarfile
模块来解决受密码保护的RAR文件的破解问题。在这里,我们将使用“未知密码”的RAR文件作为示例,即文件名为example.rar
。
import rarfile
import threading
file = rarfile.RarFile('example.rar')
def extractrar(pwd):
try:
file.extractall(pwd=pwd)
print("Success: password found " + pwd)
except:
pass
for i in combo:
pwd = "".join(i)
t = threading.Thread(target=extractrar, args=(pwd,))
t.start()
首先,我们通过rarfile库打开RAR文件。然后,我们定义了一个可以用于提取RAR文件的函数,名为extractrar
,参数为密码值。
在当前函数中,我们尝试使用给定的密码值尝试解压RAR文件。如果密码正确,文件被解压缩并正常提取;否则,程序将不会报错,仅仅跳过。
在最后的循环中,我们使用itertools
生成一个密码列表,并将每个密码值传到extractrar
函数中,作为线程的参数并并发执行。当密码被正确破解时,程序将在控制台中打印“成功破解”消息。
以上是利用python利用itertools生成密码字典并多线程撞库破解rar密码的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python利用itertools生成密码字典并多线程撞库破解rar密码 - Python技术站