• 破解 zip 压缩包程序


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

    项目文件结构

    在当前目录有三个文件:

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

    代码实现过程

    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 + '
    '
    
    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。具体如下图的操作:

    破解 zip 压缩包程序

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

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

  • 相关阅读:
    P1486 [NOI2004]郁闷的出纳员
    poj2155 Matrix
    [USACO10MAR]伟大的奶牛聚集Great Cow Gat…
    分布式相关学习整理
    分布式学习之JTA
    linux相关命令整理
    每日笔记-redis的理解及相关应用
    利用redis实现分布式锁知识点总结及相关改进
    每日笔记-类加载机制及相关拓展
    多线程学习系列-概述
  • 原文地址:https://www.cnblogs.com/demodashi/p/8510116.html
Copyright © 2020-2023  润新知