简单的python zipfile暴力破解命令行脚本

 安装完python 直接就可执行

Crack.py:

import optparse
import zipfile
from threading import Thread




def check_pwd(zf,pwd):
    try:
        zf = zipfile.ZipFile(zf)
        zf.extractall(pwd=pwd.encode("ascii")) //解压测试
        print("found password %s" % pwd)
    except Exception as e:
        print(e)


def zip() :
    parse = optparse.OptionParser("usage%prog -f  -d ")
    parse.add_option("-f", dest="fname", help="get zip file")
    parse.add_option("-d", dest="dname", help="get dictionary")
    (options,args) = parse.parse_args()   //fname: zip路径, dname:字典路径
    if (options.fname == None)  | (options.dname == None) :
        print(parse.usage)
    else:
        fname = options.fname
        dname = options.dname
        f=open(dname)
        for line in f.readlines():
            pwd = line.strip('\n')
            print("Try password %s" % pwd)
            t = Thread(target=check_pwd, args=(fname, pwd))
            t.start()

if __name__ == "__main__":  #执行zip
    zip()

测试

随便写的字典 pwd.txt

简单的python zipfile暴力破解命令行脚本_第1张图片

创建一个密码为123456的test.zip,(winrar压缩zip要传统zip加密才能破解)

 把三个文件放到同一目录

打开cmd 执行

python Crack.py -f test.zip -d pwd.txt

 结果如下:

简单的python zipfile暴力破解命令行脚本_第2张图片

解压成功

ps:

1、当一个密码成功之后,后续的密码皆会成功(上面用了多线程)

2、开启多线程可以加快暴力破解速度

3、字典自行网上搜索

你可能感兴趣的:(简单的python zipfile暴力破解命令行脚本)