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

tech2022-08-02  133

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于Demo大师 ,作者Wu_Being

详细

项目文件结构代码实现过程演示效果

项目文件结构

在当前目录有三个文件:

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

 

代码实现过程

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

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

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

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()

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

 

可以免费领取源码、项目实战视频、PDF文件等

 

演示效果

在当前目录有三个文件:

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

最新回复(0)