破解 zip 压缩包程序

目录

代码地址如下:
http://www.demodashi.com/demo/12021.html

项目文件结构

在当前目录有三个文件:

  • 3-zipCrack.py :zip 破解程序
  • dictionary.txt :密码字典
  • evil.zip :zip 压缩包程序

X1zKNuoCJi0jVDGBfxV.png

代码实现过程

ZIP,是一个文件的压缩的算法,ZIP通常使用后缀名“.zip”,它的MIME格式为 application/zip 。

目前,ZIP格式属于几种主流的压缩格式之一,其竞争者包括RAR格式以及开放源码的7-Zip格式。从性能上比较,RAR格式较ZIP格式压缩率较高,但是它的压缩时间远远高于Zip。

其破解原理就是遍历密码字典的密码,逐个尝试解码,如果密码复杂字典过大会导致破解效率下降,下面用多线程破解可以改善之。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import zipfile
import optparse
from threading import Thread

def extractFile(zFile, password):
     # 破解zip 密码程序
     zFile.extractall(pwd=password)
     print '[+] Found password ' + password + '\n'

def main():
    parser = optparse.OptionParser("usage %prog "+\
      "-f <zipfile> -d <dictionary>")
    # 解析命令行
    # ...

    zFile = zipfile.ZipFile(zname)
    passFile = open(dname)

    for line in passFile.readlines():
        # 实现多线程破解
        t = Thread(target=extractFile, args=(zFile, password))
        t.start()

if __name__ == '__main__':
    main()

演示效果

在当前目录有三个文件:

  • 3-zipCrack.py :zip 破解程序
  • dictionary.txt :密码字典
  • evil.zip :zip 压缩包程序

第一次输入python 3-zipCrack.py提示使用用法:

usage %prog -f <zipfile> -d <dictionary>

然后按使用方法正确输入命令:

python 3-zipCrack.py -f evil.zip -d dictionary.txt 

这样成功破解出 evil.zip 压缩包,并显示 zip 解码密码是secret。具体如下图的操作:

99tyco5dtXlmbdnEtt5.png破解 zip 压缩包程序

代码地址如下:
http://www.demodashi.com/demo/12021.html

注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值