RarFile Python 模块
RarFile Python Module
我正在尝试为 rar 文件制作一个简单的暴力破解器。我的代码是...
import rarfile
file = input("Password List Directory: ")
rarFile = input("Rar File: ")
passwordList = open(file,"r")
for i in passwordList:
try :
rarfile.read(rarFile, psw=i)
print('[+] Password Found: '+i)
except Exception as e:
print('[-] '+i+' is not a password ')
passwordList.close()
我认为这与我对模块的使用有关,因为当我输入我 10000% 确定包含 rarFile 密码的密码列表时,它会打印异常。
这里真正的问题是您正在捕获所有异常,而不仅仅是您想要的异常。所以使用 except rarfile.PasswordRequired:
这将告诉您错误不是缺少密码。相反,rarfile 模块中没有函数 read
。
看看一些 Documentation。 Rar 加密是针对每个文件,而不是每个存档。
您需要从 RarFile 创建一个对象 class 并在存档中的每个文件上尝试密码。 (或者如果您知道它是加密的,则只是第一个)
import rarfile
file = input("Password List Directory: ")
rarFilename = input("Rar File: ")
rf = rarfile.RarFile(rarFilename)
passwordList = open(file,"r")
first_file = next(rf.infolist)
for i in passwordList:
password = i.rstrip()
try:
rf.open(first_file, psw=password)
print(password, "found")
except rarfile.PasswordRequired:
print(password,"is not a password")
当您打开文件并从中读取行时,"new line" 字符会保留
在该行的末尾。这需要从每一行中删除。
for i in passwordList:
password = i.rstrip()
try :
rarfile.read(rarFile, psw=password)
print('[+] Password Found: '+password)
我正在尝试为 rar 文件制作一个简单的暴力破解器。我的代码是...
import rarfile
file = input("Password List Directory: ")
rarFile = input("Rar File: ")
passwordList = open(file,"r")
for i in passwordList:
try :
rarfile.read(rarFile, psw=i)
print('[+] Password Found: '+i)
except Exception as e:
print('[-] '+i+' is not a password ')
passwordList.close()
我认为这与我对模块的使用有关,因为当我输入我 10000% 确定包含 rarFile 密码的密码列表时,它会打印异常。
这里真正的问题是您正在捕获所有异常,而不仅仅是您想要的异常。所以使用 except rarfile.PasswordRequired:
这将告诉您错误不是缺少密码。相反,rarfile 模块中没有函数 read
。
看看一些 Documentation。 Rar 加密是针对每个文件,而不是每个存档。
您需要从 RarFile 创建一个对象 class 并在存档中的每个文件上尝试密码。 (或者如果您知道它是加密的,则只是第一个)
import rarfile
file = input("Password List Directory: ")
rarFilename = input("Rar File: ")
rf = rarfile.RarFile(rarFilename)
passwordList = open(file,"r")
first_file = next(rf.infolist)
for i in passwordList:
password = i.rstrip()
try:
rf.open(first_file, psw=password)
print(password, "found")
except rarfile.PasswordRequired:
print(password,"is not a password")
当您打开文件并从中读取行时,"new line" 字符会保留 在该行的末尾。这需要从每一行中删除。
for i in passwordList:
password = i.rstrip()
try :
rarfile.read(rarFile, psw=password)
print('[+] Password Found: '+password)