• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:Python实用案例Python脚本Python实现破译zip压缩包

python 搞代码 4年前 (2022-02-20) 14次浏览 已收录 0个评论

往期回顾

Python实现主动监测Github我的项目并关上网页

Python实现文件主动归类

Python实现帮你抉择双色球号码

Python实现每日更换“必应图片”为“桌面壁纸”

Python实现批量加水印

前言

明天咱们就利用python脚本实现破译zip压缩包。间接开整~

成果展现

过程如下:

  1. 建设明码字典(罕用明码)
  2. 尝试用每一个明码,来解压文件
  3. 解压胜利,跳出循环

明码字典

比方,当初一个纯数字的六位明码“050825”

能够从顺次遍历“000000”到“999999”,把所有的后果保留到txt文件。

这样的毛病就是比拟死板,只能是6位数字,另外就是比拟占内存。

于是,有个大神写了个“字典生成器”,你须要做的是传入两个参数“字典的组成元素”和“明码的长度列表”

比方,纯数字的“050825”,你就传入如下的参数:

  • [0,1,2,3,4,5,6,7,8,9],数字就这9个
  • [6],明码的长度

如此,便可按你的要求失去明码的Python 生成器。咱们晓得,生成器是不占用内存的。

如果数字不过瘾,比方有的明码是字符串。能够思考在第一个参数中,退出“a-z”和“A-Z”

zipfile解压文件

zipfile模块是python自带的,用于对zip文件的读、写、追加、解压操作等。

“解压”次要是用到ZipFile对象的extractall()办法

extractall(path=None, members=None, pwd=None)办法次要有三个参数。

咱们来看一下每个参数的含意:

  • path 指定解压后文件的存储地位
  • members(可选)指定Zip文件中要解压的文件,这个文件名称必须是通过namelist()办法返回列表的子集
  • pwd 指定Zip文件的解压密码(编码“utf-8”)

源码:

import zipfile 
try:
    with zipfile.ZipFile('test.zip') as zFile:     
        # 创立ZipFile对象
        # 解压文件
        zFile.extractall(path='./',pwd=b'1234')
        print('解压胜利!')
except:
    print('解压失败')

进度条可视化

上次的进度条,这次派上用场了,对于进度条,本程序应用 tqdm扩大库,能够参考上面的链接:用python 制作可视化进度条

代码中的tqdm有两个参数:

  • 1、明码迭代器
  • 2、明码总个数

    for pwd in tqdm(chain.from_iterable(all_passwd(dictionaries, maxlen) for maxlen in lengths), total=total):
      if extract(zfile, pwd):    # 记得extract函数返回的是bool类型的哦
          break

    这是破解的后果:

    5%|▌         | 50691/1000000 [00:04<01:23, 11389.24it/s]
    Password is: 050825
    bingo

4s结束战斗…

文章到这里就完结了,感激你的观看,Python实用脚本系列,下篇文章分享批量下载百度图片

为了感激读者们,我想把我最近珍藏的一些编程干货分享给大家,回馈每一个读者,心愿能帮到你们。

干货次要有:

① 2000多本Python电子书(支流和经典的书籍应该都有了)

② Python规范库材料(最全中文版)

③ 我的项目源码(四五十个乏味且经典的练手我的项目及源码)

④ Python根底入门、爬虫、web开发、大数据分析方面的视频(适宜小白学习)

⑤ Python学习路线图(辞别不入流的学习)

⑥ 两天的Python爬虫训练营直播权限

All done~详见个人简介或者私信获取残缺源代码。。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:Python实用案例Python脚本Python实现破译zip压缩包

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址