使用python暴力破解PDF文件打开密码教程

使用python暴力破解PDF文件打开密码教程

一.什么叫PDF文件打开密码

首先我们需要知道,本文所破解的是pdf打开密码,而不是编辑密码,使用不同的软件打开设有打开密码的pdf文件,会有不同的提示,具体示例如下。

wps截图
wps截图
adobe Acrobat 截图在这里插入图片描述
Edge截图
在这里插入图片描述
Chrome截图
ss
Word截图
在这里插入图片描述
因此,如果您的pdf在打开时出现如上图所示的对话框,同时您还知道该密码是由纯数字组成的,且知道该密码的位数,那么本文所提供的python脚本可能有助于您的破解。

二.源码

再次提醒,使用本源码的前提是您确定要破解的pdf文档打开密码由纯数字组成且您已经知道该密码的位数。

import pikepdf #是用来读取pdf文件
from IPython.display import clear_output
filenamePath = r"C:\train.pdf" # 在此处输入您的pdf文档的路径
recordPath=r"C:\record.txt" # 考虑到破解过程可能随时中断,因此使用一个txt记录破解进程
for pwd in range(0,99999999,1): # 此处的range范围可由您任意填写,这样您可以从任意范围内破解,需要注意最大值必须与密码位数对应
    x=format(pwd,'08d') # 此处的08d即您认为的密码的位数,代表8位数,若是6位数字则改为’06d’,以此类推
    print(x)
    record=open(recordPath,'w', encoding='utf-8') # 将当前进度写入txt中,这样您可以随时中断破解进程随时开始
    record.write(x)
    record.close( ) # 关闭txt文件,以防爆内存
    try:
        pikepdf.open(filenamePath, password=x)
    except:
        clear_output(wait=False) # 前面的print(x)会导致屏幕打印大量的结果,本函数用于清除当前打印输出,防止爆内存
        continue
    else:
        break

print(f"已经查找到密码为:{pwd}")
print("over")

三.参考资料

https://blog.csdn.net/m0_68174024/article/details/130692215
https://blog.csdn.net/m0_68174024/article/details/129977532
https://blog.csdn.net/qq_37043811/article/details/125372072

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值