python---项目4-Zip文件口令破解脚本,zipfile,optparse,thread

本文介绍了一个使用Python编写的Zip文件密码破解脚本。该脚本利用zipfile库的extractall()方法,并通过多线程加速破解过程。文章提供了脚本源码及运行示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python—Zip文件口令破解脚本
主要使用zipfile库的extractall()方法,其中pwd参数指定密码

参考:https://www.cnblogs.com/bergus/p/4811293.html
https://iask.sina.com.cn/b/7ys9HurjMxl.html
http://blog.youkuaiyun.com/a464057216/article/details/47375999
https://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html

1、要解开的zip的加密的test.zip文件信息
这里写图片描述

2、文件配置信息

root@kali:~/python/anquangongji# ls 
creakzipfile.py    pingip_false.txt  scanftpbanner.py       test.zip
dictionaryzip.txt  pingip_true.txt   scanhostsingalport.py  vulnbanners.txt
root@kali:~/python/anquangongji# cat dictionaryzip.txt 
asd123456
qwe123456
zxc123456
123456
root@kali:~/python/anquangongji# 

3、脚本代码

#脚本源码:
root@kali:~/python/anquangongji# 
root@kali:~/python/anquangongji# cat creakzipfile.py 
#!/usr/bin/python
#--*-- coding:utf-8 --*--

import zipfile
import optparse
from threading import Thread

def extractFile(zFile,password):
    try:
        zFile.extractall(pwd=password)
        print "[+] Found Pasword :" + password + "\n"
    except:
        pass

def main():
    #creakzipfile.py为脚本文件, <zipfile>为破解zip文件, <dictionary>为破解字典,都在同一目录下
    parser = optparse.OptionParser("[*] Usage: ./creakzipfile.py -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)

    zFile = zipfile.ZipFile(options.zname)
    passFile = open(options.dname)
    for line in passFile.readlines():
        line = line.strip("\n")
        t = Thread(target=extractFile,args=(zFile,line))
        t.start()

if __name__ == "__main__":
    main()

root@kali:~/python/anquangongji# 

4、脚本运行情况:
代码中导入了optparse库解析命令行参数,调用OptionParser()生成一个参数解析器类的示例,parser.add_option()指定具体解析哪些命令行参数,usage输出的是参数的帮助信息;同时也采用了多线程的方式提高破解速率。

运行结果:

root@kali:~/python/anquangongji# 
root@kali:~/python/anquangongji# clear
root@kali:~/python/anquangongji# python creakzipfile.py -f test.zip -d dictionaryzip.txt 
[+] Found Pasword :qwe123456

root@kali:~/python/anquangongji#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

徐为波

看着给就好了,学习写作有点累!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值