gpt4 book ai didi

python - Zip 文件破解器 python 3 将仅在文本文件末尾使用密码

转载 作者:行者123 更新时间:2023-11-30 23:26:13 30 4
gpt4 key购买 nike

我已经搜索和摸索了好几天,试图用 python 3 制作一个 zip 破解程序。

我有一个名为passwords.txt 的文本文件,其中包含我的密码。每个密码都占一个新行。 (行与行之间没有空格)

例如:

password
house
qwerty

脚本运行正常并将提取我的 zip 中的文件。 (zip 密码是 qwerty)。但是如果我像这样重新排列我的列表:

password
qwerty
house

该脚本不会破解 zip。当“qwerty”作为列表中的唯一密码时,它可以正常工作;如果“qwerty”是列表中的最后一个密码,它也可以正常工作。对我来说,就像使用正确的密码后脚本不会终止一样。我需要朝着正确的方向一点插入。

这是我的(简单)代码:(我不是专家)

import zipfile
with open('passwords.txt') as passwordList:
myZip = zipfile.ZipFile('test.zip')
for line in passwordList:
try:
myZip.setpassword(pwd=line.encode())
myZip.extractall()

except:
pass

myZip.close()

任何帮助将不胜感激。

最佳答案

使用 line.strip(b'\n') 而不是 line.strip 从 line 变量中删除 \n (),因为密码周围可能有空格。

您也可以直接将 pwd 传递给 extractall

import zipfile

zip_file = zipfile.ZipFile('test.zip')
output_verbose = 2 # increase that for long password list
with open('passwords.txt', 'rb') as password_list:
for index, line in enumerate(password_list):
try:
pwd = line.strip(b'\n')
zip_file.extractall(pwd=pwd)
except RuntimeError:
if index % output_verbose == 0:
print('{}. The {} word not matched.'.format(index + 1, pwd))
else:
print('{}. Wow ! found the password: {}'.format(index + 1, pwd))
break

zip_file.close()

演示:

1. The b'password' word not matched.
2. Wow ! found the password: b'qwerty'

关于python - Zip 文件破解器 python 3 将仅在文本文件末尾使用密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650119/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com