【发布时间】:2014-01-10 08:50:08
【问题描述】:
我想测试打开一个winrar密码保护的文件,用单词字典测试。 这是我的代码,但它不起作用可以帮助我吗?谢谢
import subprocess
def extractFile(rFile, password):
try:
subprocess.call(['c:\\mio\\unrar\\unrar.exe -p'+password+'x C:\\mio\\unrar\\'+rFile,'shell=True'])
return password
except:
return
def main():
rFile = "c:\\mio\\unrar\msploit.rar"
passFile = open("C:\\mio\\unrar\\dic.txt")
for line in passFile.readlines():
password = line.strip('\n')
guess = extractFile(rFile, password)
print(password)
if guess:
print '[+] Password = ' + password + '\n'
break
if __name__ == '__main__':
main()
【问题讨论】:
-
你必须缩进
main()行(最后一行) -
你能解释一下
doesn't work是什么意思吗?当询问您的代码问题时,请更加具体。 -
@CharlesB 和其他行也是如此。
-
你想通过将
, 'shell=True'放入数组而不是正确地作为函数的参数来实现什么? -
在我的回复中,您会看到
call()的参数错误,但我认为即使call()成功,您也可能无法正确猜出密码,然后unrar可能会显示一些错误并且会不创建输出文件。
标签: python subprocess password-protection unrar