一篇文章教你,破解百度网盘加密文件,学会这个举一反二

2023-10-26

经常遇到百度网盘的压缩文件加密了,今天我们就破解它!

实现思路

爆破密码的思路其实都大同小异:无非就是字典爆破,就看你是有现成密码字典,还是自己生成密码字典,然后进行循环输入密码,直到输入正确位置。现在很多都有防爆破限制,根本无法进行暴力破解,但是似乎zip这种大家都是用比较简单的密码而且没有什么限制。
因此 实现思路就是 生成字典->输入密码->成功解压

实现过程

1.  生成字典
生成密码字典其实就是一个字符组合的过程。小伙伴们可别用列表去组合噢,很容易就内存溢出了,用生成器就最好啦。这里我选择使用python的itertools模块。itertools是2.3版本加入的用于创建循环用迭代器的函数模块。
而 itertools.product(*iterables[, repeat]) 函数是对应有序的重复抽样过程。
写出来生成密码字典的方法:(输出1,2组成长度为4的所有密码)


import itertools

def allkeyword(dic,num):
    allkey1 = itertools.product(dic,repeat=num)
    allkey2 = (''.join(i) for i in allkey1)
    return allkey2

dictionaries = ['1', '2']
print(list(allkeyword(dictionaries,4)))
# ['1111', '1112', '1121', '1122', '1211', '1212', '1221', '1222', '2111', '2112', '2121', '2122', '2211', '2212', '2221', '2222']

2.  解压文件
好家伙,python的 zipfile 模块不就可以对文件压缩解压嘛?使用方法参考官方文档:https://docs.python.org/zh-cn/2/library/zipfile.html


import zipfile

try:
    ZIPFILE = zipfile.ZipFile(r'D:\123\1.zip')  # 注意路径
    ZIPFILE.extractall(path=r'D:\123',pwd=b'1234')  # 解压到哪个路径
    print("解压成功")

except:
    print("解压失败")

没有意外测试文件应该可以解压成功的。

3.  模拟项目所需加密的压缩文件

图片

新建abc.txt文件,输入abc

图片

右键txt文件,添加到压缩文件,并设置密码,确定

图片

这里我们删除原有的txt文件,方便测试,破解成功后解压到当前路径

4.  使用生成的字典去爆破密码

结合1和2步骤,完整的代码:(注意看注释学习)


import zipfile
import itertools

# 破解一个4位数密码数字和字母为23ab大概5-10分钟,仅供参考。
dictionaries = ['1', '2', '3', '4','5','6','7','8','9','0',
                'a','b','c','d','e','f','g','h','i','j','k',
                'l','m','n','o','p','q','r','s','t','u','v',
                'w','x','y','z']         #组成破解字典的关键字符(可以按照自己需求添加)
end_for = True      # 用于破解成功后,停止循环的变量
# 设置密码的长度1到16位密码
for x in range (1,17):
    if end_for:
        def allkeyword():
            allkey1 = itertools.product(dictionaries,repeat=x)
            allkey2 = (''.join(i) for i in allkey1)
            return allkey2

        def trypassword (password):
            try:
                ZIPFILE = zipfile.ZipFile(r'D:\zip\abc.zip')   # 需要解压带有密码的本地abc.zip
                ZIPFILE.extractall(path=r'D:\zip',pwd=password.encode('utf-8'))     # 解压到哪个路径下
                print(f"解压成功,正确密码为:{password}")       # 解压成功,并打印出正确密码
                global end_for      # 声明为全局变量,没有声明,重新赋值无效
                end_for = False     # 解压成功,停止循环
                return True
            except:
                print(f"解压失败,尝试密码为:{password}")  
                return False

        #用trypassword函数返回的True或者Flase来判定程序是否终止。
        for pwd in allkeyword() :   
            if trypassword(pwd):
                break

图片

执行代码后,4位数的密码(数字字母组合的)大概5-10分钟就能成功解压,破解打印密码了。

图片

破解密码后,由于我们设置的是解压到当前路径下,可以看到abc.txt文件就出来了。

—————END—————

 感谢每一个认真阅读我文章的人,礼尚往来总是要有的:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一篇文章教你,破解百度网盘加密文件,学会这个举一反二 的相关文章

  • API 端点的 Django 子域配置

    我已经建立了一个 Django 项目 它使用django rest framework提供一些 ReST 功能 网站和其他功能都运行良好 然而有一个小问题 我需要我的 API 端点指向一个不同的子域 例如 当用户访问该网站时 他 她可以根据
  • 是否可以模拟 Python 3.6 中的内置 len() 函数?

    是否可以模拟内置len Python 3 6 中的函数 我有一个类定义了一个简单的方法 该方法依赖于len 函数如下 class MyLenFunc object def is longer than three characters se
  • PyList_SetItem 与 PyList_SETITEM

    据我所知 PyList SetItem 和 PyList SETITEM 之间的区别在于 PyList SetItem 会降低它覆盖的列表项的引用计数 而 PyList SETITEM 不会 我有什么理由不应该一直使用 PyList Set
  • python导入模块时如何避免一直写模块名?

    我用math最近模块很多 我不想写math sqrt x and math sin x 每时每刻 我想缩短它并写sqrt x and sin x How 对于较长的模块名称 通常会缩短它们 例如 import numpy as np 然后您
  • DataFrame 在函数内部修改

    我面临一个我以前从未观察到的函数内数据帧修改的问题 有没有一种方法可以处理这个问题 以便初始数据帧不被修改 def test df df tt np nan return df dff pd DataFrame data 现在 当我打印时d
  • KFold 和 ShuffleSplit CV 有什么区别?

    看起来 KFold 每次迭代对象时都会生成相同的值 而 Shuffle Split 每次都会生成不同的索引 它是否正确 如果是这样 其中一个相对于另一个有什么用处 cv cross validation KFold 10 n folds 2
  • 底图上的子图

    我有一张英国地图和 121 个地点 每个地点有 3 个值 我想绘制 121 个位置中每个位置的三个值的小条形图 目前 这些值绘制为markersize属性 看起来像这样 密集恐惧症情节 https i stack imgur com 5fv
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • Pyspark 数据框逐行空列列表

    我有一个 Spark 数据框 我想创建一个新列 其中包含每行中具有 null 的列名称 例如 原始数据框是 col 1 col 2 col 3 62 45 null 62 49 56 45 null null null null null
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • 在Python中删除带有重音符号的字符串中的所有非字母字符

    我正在尝试使用 Python 3 7 从包含重音符号的字符串中删除所有非字母字符 空格除外 我尝试了以下方法 import re text 29 1981 4 2008 clean text re sub W d text print cl
  • Python 视频框架

    我正在寻找一个 Python 框架 它将使我能够播放视频并在该视频上绘图 用于标记目的 我尝试过 Pyglet 但这似乎效果不是特别好 在现有视频上绘图时 会出现闪烁 即使使用双缓冲和所有这些好东西 而且似乎没有办法在每帧回调期间获取视频中
  • pip 安装软件包两次

    不幸的是我无法重现它 但我们已经见过几次了 pip 将一个软件包安装两次 如果卸载第一个 第二个就会可见并且也可以被卸载 我的问题 如果一个包安装了两次 如何用 python 检查 背景 我想编写一个测试来检查这一点 devOp Updat
  • 如何在 Python 中从 HTML 页面中提取 URL [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我必须用Python 编写一个网络爬
  • numpy.cov() 返回意外的输出

    我有一个 X 数据集 有 9 个特征和 683 行 683x9 我想获取这个 X 数据集和另一个与 X 具有相同形状的数据集的协方差矩阵 我使用np cov originalData generatedData rowvar False 代
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 大型数据集上的 Sklearn-GMM

    我有一个很大的数据集 我无法将整个数据放入内存中 我想在这个数据集上拟合 GMM 我可以用吗GMM fit sklearn mixture GMM 重复小批量数据 没有理由重复贴合 只需随机采样您认为机器可以在合理时间内计算的尽可能多的数据
  • 如何正确消除字典中的元素直到只剩下一个字符串

    我真的需要这方面的帮助 def get winner dict winner new dict for winner in dict winner first letter winner 0 value dict winner winner
  • 最小硬币找零问题——回溯

    我正在尝试用最少数量的硬币解决硬币找零问题 采用回溯法 我实际上已经完成了它 但我想添加一些选项 按其单位打印硬币数量 而不仅仅是总数 这是我下面的Python代码 def minimum coins coin list change mi
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03

随机推荐

  • linux中摄像头旋转90度,ok335xD 如何将屏幕显示转90度在linux下,竖屏变横屏。

    我在内核里发现这样几个文件 不知是否能用的到 在drivers video 下 Kconfig and 8 15 or 16 bpp color 90 degrees clockwise display rotation for xilin
  • linux 日志查看

    Linux 查看日志相关命令总结 Linux日志筛选命令 常用Linux日志查看命令 grep常用用法 zgrep 不解压过滤压缩包中文本 Linux命令大全 手册 循环实时查看最后50行记录 tailf n 50 tomcat stdou
  • 在论坛中出现的比较难的sql问题:21(递归问题 检索某个节点下所有叶子节点)...

    最近 在论坛中 遇到了不少比较难的sql问题 虽然自己都能解决 但发现过几天后 就记不起来了 也忘记解决的方法了 所以 觉得有必要记录下来 这样以后再次碰到这类问题 也能从中获取解答的思路 问题 求SQL 检索某个节点下所有叶子节点 部门表
  • centos7配置yum为国内源

    问题 yum install libXm so 4 报错 Cannot find a valid baseurl for repo base 7 x86 64 因为yum源不是国内的 切换一下 步骤 卸载 yum rpm aq grep y
  • 字节青训营第十三课之深入浅出RPC框架的笔记与总结.md

    基本概念 本地函数调用 函数调用完整过程如图 藏实际上编译器经常优化 参数和返回值少时直接将其存在寄存器 不需操作栈 直接online不需call 将a和b的值入栈 经函数指针找到calculate 进入函数取栈中值2和3赋给x和y 计算x
  • C# GDI+ 绘图

    1 坐标系统 1 坐标原点 在窗体或控件的左上角 坐标为 0 0 2 正方向 X轴正方向为水平向右 Y轴正方向为竖直向下 3 单位 在设置时 一般以像素为单位 像素 Pixel 是由图像 Picture 和元素 Element 组成 是用来
  • 怎么在百度里通过关键词搜索到自己的网站

    1 需要在百度站长平台提交自己的网址 2进入百度站长平台 点击链接提交 3 点击添加站点 等待百度收录之后 4 在百度搜索框中输入 如下图 site后面的是你的域名 然后空格 加你要搜索的关键词 在该域名上的网页上要有该关键字 5 输入关键
  • git bash 命令行反应慢、卡顿

    1 在Windows11的电脑上安装了git 后 鼠标右键打开git bash here 打开窗口缓慢 输入命令也慢的要死 如果安装git的时候选择在桌面创建图标 通过桌面图标打开也是一样的 2 最简单的ls 命令 都要停顿半秒 3 点击桌
  • Flops 计算以及代码快速查看网络参数、浮点数

    详细计算 卷积神经网络CNN中的参数量 parameters 和计算量 FLOPs 知乎 FLOPS 全大写 指每秒浮点运算次数 可以理解为计算的速度 是衡量硬件性能的一个指标 硬件 FLOPs s小写 指浮点运算数 理解为计算量 可以用来
  • Lattice CrosslinkNx LIFCL-40应用连载5:如何使用MIPI D-PHY硬核IP

    作者 Hello Panda 一 目标 配置CMOS Sensor OV9734 并通过MIPI DPHY硬核接收数据 使用一个RISC V软核 实通过AHB总线访问I2C FIFO 通过I2C总线配置OV9734 Sensor 使用MIP
  • 基于VS调试分析 + 堆栈观察问题代码段

    文章目录 问题代码段1 阶乘之和 问题代码段2 越界的危害 发现问题 分析问题 思考问题 堆栈原理 解决问题 DeBug与Release 程序员与测试人员 总结与提炼 问题代码段1 阶乘之和 先来看一道C语言中比较基础的题目 求解阶乘的和
  • java --向上转型和向下转型

    一 简述 Java 转型主要是用在继承和接口实现的场景 Java 转型可分为向上转型和向下转型 区别如下 向上转型 通过子类对象实例化父类对象 这属于自动转换 向下转型 通过父类对象实例化子类对象 这属于强制转换 只要记住一句话即可 父类引
  • JAVA 多态 从内存角度分析

    设父类对象占内存空间100M 子类对象占内存空间50M 问题 对象转型问题 为什么只有父类变量指向子类对象 因为父类需要100M 只能指向比自己更大的空间 父类变量指向子类对象时变量情况 a pa c cc 父类变量实际上指向的是 和 pc
  • Python Pytest装饰器@pytest.mark.parametrize详解

    转自 Python Pytest装饰器 pytest mark parametrize详解 Pytest中装饰器 pytest mark parametrize 参数名 list 可以实现测试用例参数化 类似DDT 如 pytest mar
  • http的异步请求

    需要用到的包 包版本应该可能不同 httpcore 4 1 4 jar httpsayncclient 4 0 alpha3 jar httpcore nio 4 2 alpha3 jar 异步http请求 author Old Zhang
  • ci分页查询ajax,解析CI的AJAX分页 另类实现方法_PHP教程

    看了一下CI的分页类没有写到关于AJAX的内容 也在论坛上看到其他几位大神写的分页类扩展 感觉其实是没有必要 在现有的基础上做了一下小小的改动还是能实现的 下面进入正题 CI的原生分页类中有一个参数 config anchor class
  • Whistle抓包之设置windows全局代理

    一 whistle官网教程 http wproxy org whistle install html 二 windows场景设置全局代理 因为博主在设置SwitchyOmega插件代理时 未生效 只能通过设置全局代理的方式解决 官网教程上又
  • 华为OD机试 - 机房布局(Java)

    题目描述 小明正在规划一个大型数据中心机房 为了使得机柜上的机器都能正常满负荷工作 需要确保在每个机柜边上至少要有一个电箱 为了简化题目 假设这个机房是一整排 M表示机柜 I表示间隔 请你返回这整排机柜 至少需要多少个电箱 如果无解请返回
  • Vue触底加载

    页面内的触底加载 需求 页面滚动到接近底部 再次发送请求 获取更多数据 渲染到页面上 data 请求页数 page 0 请求获取的数据 list 是否正在加载 用于节流 isLoading false created 首次调用 this g
  • 一篇文章教你,破解百度网盘加密文件,学会这个举一反二

    经常遇到百度网盘的压缩文件加密了 今天我们就破解它 实现思路 爆破密码的思路其实都大同小异 无非就是字典爆破 就看你是有现成密码字典 还是自己生成密码字典 然后进行循环输入密码 直到输入正确位置 现在很多都有防爆破限制 根本无法进行暴力破解