美文网首页ctf
暴力破解加密压缩文件脚本

暴力破解加密压缩文件脚本

作者: 漫谈 | 来源:发表于2020-03-07 21:57 被阅读0次

    源码:

    import zipfile
    import threading
    import optparse
    
    def extractFile(zFile,password):              #fuzz
            
        try:
            zFile.extractall(pwd=password)
            print 'password ='+password+'\n'
    
        except:
            pass
    
    def main():
        parser = optparse.OptionParser("usage%prog "+\           #创建实例对象
                "-f <zipfile> -d <dictionary>")
        parser.add_option('-f',dest='zname',type='string',\      #增加参数选项
                help='specify zip file')
        parser.add_option('-d',dest='dname',type='string',\
                help='specify dictionary file')
        (options,args) = parser.parse_args()                     #调用optionparser的解析函数
    
        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')
            t = threading.Thread(target=extractFile, args=(zFile,password))     #多线程工作
            t.start()
    
    if __name__=='__main__':                                                    #程序入口
        main()
        
    

    Abuot 库

    一、optionparser

    optionparser的执行过程:
    1、导入optionparser : from optparse import OptionParser构造optionparser的对象:parser = OptionParser()

    2、往optionparser对象中增加option :parser.add_option()

    3、调用optionparser的解析函数:(options, args) = parser.parse_args()在options中使用解析到的options,在args中使用其他的args。

    二、threading

    通过直接从 threading.Thread 继承创建一个新的子类,并实例化后调用 start() 方法启动新线程,即它调用了线程的 run() 方法。

    相关文章

      网友评论

        本文标题:暴力破解加密压缩文件脚本

        本文链接:https://www.haomeiwen.com/subject/qxrkdhtx.html