一个Zip文件口令破解机

自己动手写跑字典解密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环境下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,223评论 3 53
  • 个人笔记,方便自己查阅使用 Py.LangSpec.Contents Refs Built-in Closure ...
    freenik阅读 67,787评论 0 5
  • 隐写篇 0x01. 通过进制转换隐藏信息 0x02. 在图片中隐藏压缩包(图种) 加密篇 0x03. 伪加密 0x...
    查无此人asdasd阅读 5,912评论 0 4
  • 夜深星星都睡着了。 这个时候,鲸鱼飞向天空,海鸟遁入深海,我们在星河间追逐跳跃,看着远边的太阳和月亮散发着粉红色的...
    东方未明L阅读 221评论 0 0
  • Step1.查看系统当前python版本号,命令行输入 python: Python 2.7.10 (defaul...
    終于阅读 631评论 0 0