一个Zip文件口令破解机

作者: 心田祭思 | 来源:发表于2017-07-06 23:20 被阅读63次

    自己动手写跑字典解密zip加密文件。本文以python3.6 版本,window环境

    # coding=UTF-8
    """
    用字典暴力破解ZIP压缩文件密码
    """
    import zipfile
    import optparse
    from threading import Thread
    def extractFile(zFile, password):
        try:
            #3.x 版本必须加上.encode('ascii'),3.x版本不能自动支持ascii码了
            zFile.extractall(pwd=password.encode('ascii'))
            print("[+] Found 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()
        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 = Thread(target=extractFile,args=(zFile, password))
            t.start()
    
    if __name__ == "__main__":
        main()
    

    接着就可以在终端执行

    python unzip.py -f evil.zip -d dictionary.txt

    unzip.py 即这个程序
    evil.zip 需要解密的文件
    dictionary.txt 字典文件,即保存密码的文件可以多个换行分开

    本文参照《python绝技》一书,书本是python2.7版,linux 环境下的。本文以python3.6版本,windows环境下。

    相关文章

      网友评论

        本文标题:一个Zip文件口令破解机

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