不带字典的Python Winzip密码测试仪

不带字典的Python Winzip密码测试仪,python,itertools,winzip,Python,Itertools,Winzip,我正在尝试构建一个没有字典攻击的winzip文件破解程序(用于一篇关于密码安全性的文章)。它需要滚动“combos”迭代,尝试每个组合,直到找到密码。非常接近完成,但目前它需要密码条目作为单个字符串,需要转换为字节,而我需要它来尝试combostotal的每个输出 提前感谢您的帮助 我把它保存在沙箱里了 文件的链接在这里 Simple zip暴力密码破解程序 我们需要为这类任务提供支持 为了简单起见,我们得到了字母数字字符串 如果您能将问题提取到您可以在此处发布的内容中,那就更好了。大多数人

我正在尝试构建一个没有字典攻击的winzip文件破解程序(用于一篇关于密码安全性的文章)。它需要滚动“combos”迭代,尝试每个组合,直到找到密码。非常接近完成,但目前它需要密码条目作为单个字符串,需要转换为字节,而我需要它来尝试combostotal的每个输出

提前感谢您的帮助

我把它保存在沙箱里了

文件的链接在这里

Simple zip暴力密码破解程序
  • 我们需要为这类任务提供支持
  • 为了简单起见,我们得到了字母数字字符串

如果您能将问题提取到您可以在此处发布的内容中,那就更好了。大多数人不会关注外部链接(除了可以运行代码的沙箱),难道您不能使用for循环并尝试每一个吗?谢谢大家的快速响应。我已经把它上传到下面链接的沙盒中。我有了循环的想法,但就是看不到它的工作
from itertools import product
from zipfile import ZipFile, BadZipFile
import string

def find_pw():
    pw_length = 1
    while True:
        s = string.ascii_lowercase
        for x in product(s, repeat=pw_length):
            pwd = "".join(x)
            with ZipFile("test.zip") as zf:
                try:
                    zf.extractall(pwd=bytes(pwd, "UTF-8"))
                    print("Password is {}".format(pwd))
                    return
                except RuntimeError as e:
                    pass
                except BadZipFile as e:
                    pass
        pw_length += 1