千家信息网

如何用python实现破解zip压缩包程序

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍"如何用python实现破解zip压缩包程序",在日常操作中,相信很多人在如何用python实现破解zip压缩包程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2024年12月12日如何用python实现破解zip压缩包程序

这篇文章主要介绍"如何用python实现破解zip压缩包程序",在日常操作中,相信很多人在如何用python实现破解zip压缩包程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何用python实现破解zip压缩包程序"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

详细

  • 项目文件结构

  • 代码实现过程

  • 演示效果

项目文件结构

在当前目录有三个文件:

  • 3-zipCrack.py :zip 破解程序

  • dictionary.txt :密码字典

  • evil.zip :zip 压缩包程序

代码实现过程

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

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

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

import zipfileimport optparsefrom threading import Threaddef extractFile(zFile, password):     # 破解zip 密码程序     zFile.extractall(pwd=password)     print '[+] Found password ' + password + '\n'def main():    parser = optparse.OptionParser("usage %prog "+\      "-f  -d ")    # 解析命令行    # ...    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()

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

演示效果

在当前目录有三个文件:

  • 3-zipCrack.py :zip 破解程序

  • dictionary.txt :密码字典

  • evil.zip :zip 压缩包程序

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

usage %prog -f  -d 

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

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

这样成功破解出 evil.zip 压缩包,并显示 zip 解码密码是secret。

到此,关于"如何用python实现破解zip压缩包程序"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0