使用 python zipfile 查找 zip 密码
Using python zipfile to find the zip password
首先我只想说我是一个非常菜鸟的程序员,但我仍然不是那种决定要制作 MMO 游戏的人。我的问题与 zip 有关 files.I 我一直在研究,但我找不到如何使用 zipfile 模块。我的想法是,你将输入 zip 的路径,然后输出密码。
这是我发现我认为我代码使用的命令
ZipFile.open(name, mode='r', pwd=None)
但问题是我不知道自己在做什么。
你有一种方法可以做到这一点,那就是蛮力。
所以你需要一个蛮力算法(你自己喜欢或设计的)and/or 彩虹 table 为你的脚本提供密码。之后,您只需循环遍历它,直到找到您的密码。
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
正如所指出的,上面的解决方案是非 pythonic 的(但如果你来自另一种语言,我更容易掌握)。应该这样写。
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行,建议阅读以加深理解。
首先我只想说我是一个非常菜鸟的程序员,但我仍然不是那种决定要制作 MMO 游戏的人。我的问题与 zip 有关 files.I 我一直在研究,但我找不到如何使用 zipfile 模块。我的想法是,你将输入 zip 的路径,然后输出密码。
这是我发现我认为我代码使用的命令
ZipFile.open(name, mode='r', pwd=None)
但问题是我不知道自己在做什么。
你有一种方法可以做到这一点,那就是蛮力。
所以你需要一个蛮力算法(你自己喜欢或设计的)and/or 彩虹 table 为你的脚本提供密码。之后,您只需循环遍历它,直到找到您的密码。
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
正如所指出的,上面的解决方案是非 pythonic 的(但如果你来自另一种语言,我更容易掌握)。应该这样写。
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行,建议阅读以加深理解。