[英]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.