位置: IT常识 - 正文

教你利用Python查看ZIP或RAR文件密码(如何用python查数据)

编辑:rootadmin

推荐整理分享教你利用Python查看ZIP或RAR文件密码(如何用python查数据),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python命令查询,python代码查询,python 查询,python命令查询,python操作步骤查看,python代码查询,python操作步骤查看,python操作步骤查看,内容如对您有帮助,希望把文章链接给更多的朋友!

常常会从网络上下载一些带密码的压缩包,想要获取里面的内容,往往就要给提供商支付一些费用.想要白嫖其中的内容,常见的做法是百度搜索一些压缩包密码破解软件,但后果相信体验过的人都知道.

一、破解原理

其实原理很简单,一句话概括就是「大力出奇迹」,Python 有两个压缩文件库:zipfile 和 rarfile,这两个库提供的解压缩方法 extractall()可以指定密码,这样的话首先生成一个密码字典(手动或用程序),然后依次尝试其中的密码,如果能够正常解压缩表示密码正确。

二、实验环境

本文采取的虚拟环境为 Pipenv.库

zipfile:Python 标准库,使用时直接导入即可rarfile:Python 第三方库教你利用Python查看ZIP或RAR文件密码(如何用python查数据)

利用 Pipenv 安装 rarfile

pipenv install rarfile

最后,再将一个带有密码的压缩包放入实验环境中即可。

三、编码

知道原理后,编码就会非常简单了准备密码本「密码本」其实就是一个包含了所有可能密码的文件,用户可以手动录入,也可以用程序录入。文末还会有一个介绍。读取压缩文件

# 根据文件扩展名,使用不同的库if filename.endswith('.zip'):    fp = zipfile.ZipFile(filename)elif filename.endswith('.rar'):    fp = rarfile.RarFile(filename)

尝试解压先尝试不用密码解压缩,如果成功则表示压缩文件没有密码

fp.extractall(desPath)fp.close()print('No password')return

暴力破解

try:    # 读取密码本文件    fpPwd = open('pwd.txt')except:    print('No dict file pwd.txt in current directory.')    returnfor pwd in fpPwd:    pwd = pwd.rstrip()    try:        fp.extractall(path=desPath, pwd=pwd.encode())        print('Success! ====>'+pwd)        fp.close()        break    except:        passfpPwd.close()

程序入口

if __name__ == '__main__':    filename = sys.argv[1]    if os.path.isfile(filename) and filename.endswith(('.zip', '.rar')):        decryptRarZipFile(filename)    else:        print('Must be Rar or Zip file')

四、使用

如果想要使用上述代码,我们只需在命令行执行python main.py <filename>即可。例如python main.py test.zip运行结果:$ python main.py test.zipSuccess! ====>323126

五、扩展

密码本如何获取?看到这里,细心的小伙伴一定会发现,最核心的其实不是代码,而是**「密码本」。理论上只要密码本中的密码足够多,就一定能获取到压缩包的密码,这也就是俗称的「撞库」**。如何加速破解过程?解决了密码本的问题,深入思考的小伙伴的一定又会有新的疑问,密码本既然如此庞大,那如何加速破解的过程呢?这里给出两个思路多线程(进程)破解密码本如果很多且密码数量庞大时,我们可以采用多线程(进程)的方式读取密码,一个进程读一个密码本,一个线程分段读密码。当然,如果是在 python 中,建议不要采用多线程,因为 python 中的线程就是鸡肋,有兴趣的可以阅读相关资料。利用 GPU 加速我们以上的代码都是运行在 CPU 上的,即使开启多线程(进程)也只是利用到 CPU 的资源,但如果想要加速破解过程,我们其实还可以利用闲置的 GPU 资源。在介绍为什么可以利用 GPU 加速前,我们需要明确一个观点,两者都为了完成计算任务而设计。那为什么会想到使用 GPU 加速呢?这是就要说到两者的不同了:CPU 虽然有多核,但总数没有超过两位数,并且每个核的运算能力极其强大。而 GPU 的核数远超 CPU,但每个核的运算能力与 CPU 的核相比就相差甚远了。我们可以简单的举个例子,解一道题,CPU 就是博士生,GPU 就是小学生,CPU 负责理解题目并且整理出解题的步骤以及解法,而 GPU 负责其中很简单但是数量又很大的简单运算就行了。因此理论上在破解密码的过程中,我们完全可以使用 GPU 来加速这一过程。事实上,这样的工具也已经出现了,Hashcat 便是最出名的一个,它号称是世界上最快的密码恢复工具,可以基于 CPU/GPU 等工作。到此这篇关于教你利用Python破解ZIP或RAR文件密码的文章就介绍到这了

本文链接地址:https://www.jiuchutong.com/zhishi/268554.html 转载请保留说明!

上一篇:宝塔Linux面板安装及命令大全,PHP启动/停止/重启/启载及安装目录配置说明(宝塔linux面板怎么安装)

下一篇:0x80070002处理方法(0x8000005解决方案)

  • 闽政通崩了打不开怎么办(闽政通上不去)

    闽政通崩了打不开怎么办(闽政通上不去)

  • 秘乐短视频秘宝是什么(秘乐短视频值得做吗)

    秘乐短视频秘宝是什么(秘乐短视频值得做吗)

  • 苹果se2和se区别(苹果se2和se区别外观)

    苹果se2和se区别(苹果se2和se区别外观)

  • 台式电脑浏览器打不开网页是什么原因(台式电脑浏览器打不开怎么办)

    台式电脑浏览器打不开网页是什么原因(台式电脑浏览器打不开怎么办)

  • 拼多多换主图技巧?(拼多多换主图技巧时间)

    拼多多换主图技巧?(拼多多换主图技巧时间)

  • 注销过的手机号码可以重新注册吗(注销过的手机号码还能注册吗)

    注销过的手机号码可以重新注册吗(注销过的手机号码还能注册吗)

  • 华为手机拍照怎么显示手机型号(华为手机拍照怎么显示地理位置和时间)

    华为手机拍照怎么显示手机型号(华为手机拍照怎么显示地理位置和时间)

  • 淘宝聊天记录保存多久(淘宝聊天记录保存)

    淘宝聊天记录保存多久(淘宝聊天记录保存)

  • 小米8能遥控空调吗(小米8遥控空调没有红外)

    小米8能遥控空调吗(小米8遥控空调没有红外)

  • 打印机打印不出字是什么原因(打印机打印不出彩色)

    打印机打印不出字是什么原因(打印机打印不出彩色)

  • 微信a标是什么意思啊(微信标是什么颜色)

    微信a标是什么意思啊(微信标是什么颜色)

  • 重复上一步骤的快捷键是什么(重复上一步操作使用的快捷键是)

    重复上一步骤的快捷键是什么(重复上一步操作使用的快捷键是)

  • 华为mate30pro怎么设置微信不显示内容(华为mate30pro怎么调音量)

    华为mate30pro怎么设置微信不显示内容(华为mate30pro怎么调音量)

  • 录音192kbps是什么意思(手机录音320kbps)

    录音192kbps是什么意思(手机录音320kbps)

  • 如何打开麦克风权限(华为手机如何打开麦克风)

    如何打开麦克风权限(华为手机如何打开麦克风)

  • ps色相饱和度的作用(ps色相饱和度的快捷键)

    ps色相饱和度的作用(ps色相饱和度的快捷键)

  • 华为mate30充满电多久(华为p60pro充电)

    华为mate30充满电多久(华为p60pro充电)

  • 手机便签删了怎么恢复(我手机便签误删了东西,怎么恢复)

    手机便签删了怎么恢复(我手机便签误删了东西,怎么恢复)

  • oppo手机hd是怎么关闭(oppo手机的hd)

    oppo手机hd是怎么关闭(oppo手机的hd)

  • 小米8开发者选项能干嘛(小米8开发者选项怎么关闭)

    小米8开发者选项能干嘛(小米8开发者选项怎么关闭)

  • 小米8防水性能(小米8防不防水,如果防,什么级别?)

    小米8防水性能(小米8防不防水,如果防,什么级别?)

  • vivoy93有指纹解锁吗(vivoy93的指纹锁在哪)

    vivoy93有指纹解锁吗(vivoy93的指纹锁在哪)

  • qq精选照片栏怎样隐藏(qq精选照片栏怎么设置)

    qq精选照片栏怎样隐藏(qq精选照片栏怎么设置)

  • 文件在另一个程序中打开无法删除解决方法(文件在另一个程序中打开,怎么解决)

    文件在另一个程序中打开无法删除解决方法(文件在另一个程序中打开,怎么解决)

  • mac怎么打开home文件夹? mac打开home文件夹的两种方法(mac怎么打开hosts文件)

    mac怎么打开home文件夹? mac打开home文件夹的两种方法(mac怎么打开hosts文件)

  • 鸿蒙系统支持第三方手机吗?(鸿蒙系统支持第三方相机吗)

    鸿蒙系统支持第三方手机吗?(鸿蒙系统支持第三方相机吗)

  • CSS 获取当前可视屏幕高度--使用calc()方法动态计算宽度或者高度(css获取id)

    CSS 获取当前可视屏幕高度--使用calc()方法动态计算宽度或者高度(css获取id)

  • 授予渔,从0开始搭建一个自己想要的网页(授渔计划是什么意思)

    授予渔,从0开始搭建一个自己想要的网页(授渔计划是什么意思)

  • vgexport命令  导出卷组(vgextend命令作用及含义)

    vgexport命令 导出卷组(vgextend命令作用及含义)

  • 企业购进固定资产
  • 公司有流水不申报会怎么样
  • 运输服务的增值税是多少
  • 营业收入就是开票不含税么
  • 商品进销差价属于流动资产吗
  • 利润总额和净利润相同说明什么
  • 天猫国际的店铺是正品吗 感觉很便宜
  • 补交以前年度城建税和滞纳金怎么做账
  • 总公司和分公司类型必须一样么
  • 企业所得税和增值税都要交吗
  • 广告费收入是不是非税收入
  • 应付股利科目设置
  • 私立医院增值税税率是多少
  • 即征即退增值税政策
  • 一般纳税人注销库存需要补交税吗
  • 土地增值税哪些可以抵扣
  • 科技型中小企业享受优惠税收政策2023
  • 本月只有红字发票该怎么申报小规模
  • 13个点的发票实际交多少钱
  • 现代服务促销服务费的经营范围
  • 企业净资产增长率上升说明什么
  • 企业接收股东划入资产作为收入处理有所得税差异吗
  • 加油卡充值开票怎么开
  • 增值税减免是当月报下月冲吗
  • 建筑劳务公司的成本有哪些,怎么做账
  • php 替换
  • 外贸企业出口退税计算
  • linux递归创建目录命令
  • vue如何预加载图片
  • php读取数据输出html
  • 其他综合收益的构成项目如何
  • 采购国产设备退税公告
  • 免税后的商品有什么优势?
  • 应付票据帐务处理
  • 发放年终奖的会议纪要
  • 经营许可证需要多久时间
  • 财务软件怎么做红冲分录
  • 什么叫利得
  • 个税申报方式是什么意思
  • 二手车经销管理办法
  • 应付职工薪酬的会计科目
  • 金税四期监控什么
  • 事业单位劳务派遣是啥意思
  • 收到红票账务处理
  • 所得税审核一般需要多久
  • 企业跨年度支出怎么计算
  • 工会经费是不是税费
  • 赠送给客户的产品怎么做账
  • 合同章盖成公章
  • 银行入息是入几个月的
  • 水果销售公司怎么起名字好听
  • 没有关联企业怎么选不了否
  • sql语句查询去重
  • sql %和_
  • xp系统打开服务器管理
  • 解决五大问题
  • linux信号机制的原理
  • 进程aissca.exe
  • win8应用商店废了
  • xp系统怎么打开开机启动项
  • linux安装flash插件
  • xp系统部分乱码解决
  • linux 中断 处理
  • win7系统开机后桌面黑屏
  • win8系统怎么设置开机密码
  • win8.1系统要求配置
  • centos ohmyzsh
  • nodejs调用c++函数
  • jquery unload
  • python中二维列表的定义
  • javascript简介和语法
  • unity2018.4破解
  • jQuery animate easing使用方法图文详解
  • jquery mobile怎么样
  • 广东税务局一般几点上班
  • 免征增值税的销售额
  • 一般纳税人增值税怎么算
  • 环保税截止时间
  • 关于船舶吨税的最新法律规范
  • 烟叶税的税收优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设