python zip爆破源码 注释解释

学习python中写的一个小工具,看书加注释。加深记忆吧。有些东西不是看着写出来就会了。

import zipfile
import optparse
from threading import Thread
def extractFile(zFile, password):               #判断密码函数
    try:
        zFile.extractall(pwd=password)
        return password
    except:
        return
def main():                                     #主函数
    parser = optparse.OptionParser("USAGE:" + "-f <zipfile> -d <dictionary>") #创建optionparser对象
    parser.add_option('-f', dest='zname' , type='string', help='specify zip file')  #使用add_option定义命令行参数
    parser.add_option('-d',dest='dname',type='string',help='specify dtctionary file')   #定义字典命令行参数
    (options, args) = parser.parse_args() #调用parser_args来解析程序所需命令行
    if (options.zname == None) | (options.dname==None):
        print parser.usage
        exit(0)
    else:
        zname = options.zname
        dname = options.dname
    zFile = zipfile.ZipFile(zname)
    passFile = open(dname)
    for line in passFile.readlines():
        password = line.strip('\n')
        guess = extractFile(zFile, password)
        if guess:
            print '[+] Password = ' + password + '\n'
            t = Thread(target=extractFile, args=(zFile, password))
            t.start()
if __name__ == '__main__':
    main()

0

Related Posts

Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据