繁体   English   中英

使用python zipfile查找zip密码

[英]Using python zipfile to find the zip password

首先让我说我是一个漂亮的菜鸟程序员,但我仍然不是那种决定要制作MMO游戏的人。 我的问题与zip文件有关。我一直在研究,我找不到如何使用zipfile模块。 我的想法是你将放入zip的路径,然后输出密码。

这是我发现我认为代码使用的命令

ZipFile.open(name, mode='r', pwd=None)

但问题是我不知道我在做什么。

你有一种方法可以做到这一点,这是一种蛮力。

因此,您需要一个强力算法(您自己喜欢或设计)和/或彩虹表,为您的脚本提供密码。 之后,您只需循环遍历它,直到找到您的密码。

https://docs.python.org/2/tutorial/errors.html#handling-exceptions

这是简化的非优化代码

rainbowTable = ['Password', '123abc', 'qwerty', 'qwerty123'] # etc...
x = 0
data = ''
for x in xrange(len(rainbowTable)):
    try:
        data = ZipFile.open(name, mode='r', pwd=rainbowTable[x])
    if data != ''
        break

正如所指出的,上面的解决方案是unpythonic(但如果你来自另一种语言,则更易于掌握)。 这是应该如何写的。

for password in rainbowTable:
    try:
        data = ZipFile.open(name, mode='r', pwd=password)
    if data != ''
        break
    else:
        print password 

然而,Python并不是最佳选择。 您可能希望将C用于此特定任务。

以下是Python示例的真实示例: https//github.com/igniteflow/violent-python/blob/master/pwd-crackers/zip-crack.py

从样本:

try:
    zip_file.extractall(pwd=password)
    password = 'Password found: %s' % password
except:
    pass
print password

代码总量为17行,因此我建议您阅读它以便更好地理解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM