python新建文件夹口令_使用Python制作Zip压缩文件口令破解机

上一次我们使用crypt模块制作了一个Linux的口令破解器(篇尾有链接),今天我们来制作一个Zip文件的口令破解器。

这次需要使用到的模块是:zipfile、threading、optparse

首先介绍一下 zipfile :help(zipfile) 的 output

可以通过 help(zipfile) 看到,该模块的功能还是相当强大的虽然好像平时我没怎么用得到,但帮助文档倒是洋洋洒洒一大堆,今天主要使用它的 etractall() 函数,emmm对英文感兴趣的大佬可以自己看看帮助文档,这里就不赘述了,(另:在Linux 中创建加密zip包的方法是 zip -rP 你的密码 目标文件.zip 原文件夹,-r 指递归,-P 指加密);

这个小脚本中将会使用到 threading 模块以提高软件效率;而 optparse 模块主要用于方便外部参数的输入(就比如 ping -n 50 192.168.31.221 中红色部分就是 ping 的参数);

废话不多说,先上最终版本的源码:# !/usr/bin/python

# -*- coding: utf-8 -*-

import zipfile

import optparse

from threading import Thread

def ectF(zF, passwd):

try:

zF.extractall(pwd=passwd)

print("[+] Found Password: " + bytes.decode(passwd) + "\n")

except:

pass

def main():

parser = optparse.OptionParser("usage%prog " + "-f -d ")

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

zF = zipfile.ZipFile(zname)

pF = open(dname)

for line in pF.readlines():

passwd = str.encode(line.strip("\n"))

t = Thread(target=ectF, args=(zF, passwd))

t.start()

if __name__ == '__main__':

    main()源码截图

运行效果截图:运行效果

如果各位伙伴在途中遇到了什么问题,随时可以在评论区留言或者私信阿婆主哦O(∩_∩)O

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值