Python绝技笔记--------Zip压缩文件密码爆破小脚本

寒假时间不多。希望在有限的时间学习到更多的知识。

这个脚本是照书抄的,主要学习了optparse模块的使用和对之前的复习

# -*- coding: UTF-8 -*-
import zipfile
import optparse
from threading import Thread

#解压方法,传入压缩文件和密码
def extractFile(zFile,password):
    try:
        zFile.extractall(pwd=password)
        print '[+] Found password '+password + '\n'
    except:
        pass
#主方法,主要用optparse来格式化参数和获取参数。并线程调用解压方法
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 dictonary 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()

运行效果:
这里写图片描述

对optparse的使用
1.先导入 import optparse
2.创建parser parser = optparse.OptionParser("usage%prog "+"-f <zipfile> -d <dictionary>")
(都有什么参数就写上什么及其对应的)
3.使用add_option来定义命令行参数parser.add_option('-f',dest='zname',type='string',help='specify zip file')

4.获取命令行的参数(options,args)= parser.parse_args()

5.然后用option中的参数值来给变量赋值

zname = options.zname

因为之前在add_option中的dest设置了就可以通过这个来获取对应参数名对应的参数值了。
这些都是自己总结的简单的运用
百度看到有大牛总结的更详细的使用方法
http://www.cnblogs.com/captain_jack/archive/2011/01/11/1933366.html

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值