Zipfile方法不起作用

时间:2015-11-06 23:23:26

标签: python python-3.x zipfile

我创建了一个带有rockyou密码的zip文件,我试图提取所有文件。但我遇到了一些问题。无论我输入的密码如何,我都会得到:

('Bad password for file', <zipfile.ZipInfo object at 0x7f7928d14dc8>)

代码:

import zipfile

zfile = zipfile.ZipFile("./rockyou.zip")

pss = b"rockyou"

try:
    zfile.extractall(pwd = pss)

except RuntimeError as e:
    print(e)
    zfile.close()

如果我传递一个字符串,我还有另一个问题:

TypeError: pwd: expected bytes, got <class 'str'>

我也试过了:

pss = str.encode("rockyou")

pss = bytes(str.encode("rockyou"))

pss = bytes("rockyou".encode("UTF-8"))

有人帮忙吗?

2 个答案:

答案 0 :(得分:5)

好吧,我找到了一种解决方法,对我有用,可能不那么漂亮......

  zFile.extractall(pwd = 'PASSWORD'.encode('cp850','replace'))

答案 1 :(得分:4)

我一直在关注暴力的python书,在第一章中你制作了一个迷你脚本来解锁加密的zip文件。对我有用的是添加一个b所以字符串将以字节为单位:

import zipfile
zFile = zipfile.ZipFile("evil.zip")
zFile.extractall(pwd=b'secret') #this is what i'm talking about