我正在阅读“暴力Python”一书,其中一个例子是zip文件破解器,它针对zip文件测试一个包含潜在密码(文本文件)的字典文件。
我试图使用docopt库来解析命令行,并给出这两个文件的文件名。这是我的密码。
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Basic zip bruteforcer
Usage:
your_script.py (-f <file>) (-z <zip> )
your_script.py -h | --help
Options:
-h --help Show this screen.
-f --file specify dictionary file. (Required argument)
-z --zip specify zip file.(Required argument)
-t --thread Thread count. (Optional)
-v --verbose Turn debug on. (Optional)
"""
from docopt import docopt
import zipfile
from threading import Thread
def extractzip(zfile, password):
try:
zfile.extractall(pwd = password)
print 'password found: ', password
except:
return
def main():
zfile = zipfile.ZipFile(zip)
with open(file, 'r') as pass_file:
for line in pass_file.readlines():
password = line.strip('\n')
t = Thread(target = extractzip, args = (zfile, password))
t.start()
if __name__ == "__main__":
arguments = docopt(__doc__, version='0.1a')
extractzip(arguments['<file>'], ['<zip>'])这是我的密码。
发布于 2015-08-23 10:58:26
你可以做这样的事
print arguments['<file>']以获取文件名,以及类似的zip文件。我个人还没有使用extractzip,也不确定它是如何工作的。但是由于参数只是一个列表,所以您可以通过直接访问所需的索引来轻松地获取值。
https://stackoverflow.com/questions/32160487
复制相似问题