编程学习网 > 编程语言 > Python > python基础教程之破解pdf解压密码(如何用python破解pdf的密码)
2022
07-02

python基础教程之破解pdf解压密码(如何用python破解pdf的密码)

假设我们有一个已经加密的pdf文件,但是突然想不起密码来了,那么如何打开这个pdf文件呢,今天编程学习网教大家python基础教程破解pdf解压密码

下面介绍三种方式:

1、使用Python中的pikepdf库进行暴力破解PDF文件。
2、提取PDF密码哈希并使用John Ripper来破解它。
3、使用iSeePassword Dr.PDF程序破解PDF密码。

首先,安装必需的依赖项:

pip3 install pikepdf tqdm

一、使用pikepdf破解PDF密码

pikepdf是一个Python库,可让我们创建,操作和修复PDF文件。它提供了围绕C ++ QPDF库的Pythonic包装器。
但是,我们不会使用pikepdf,我们只需要打开受密码保护的PDF文件,如果成功,则表明它是正确的密码,否则将引发PasswordError异常:

import pikepdf from tqdm import tqdm # load password list passwords = [ line.strip() for line in open("wordlist.txt") ] # iterate over passwords for password in tqdm(passwords, "Decrypting PDF"):
    try:
        # open PDF file         with pikepdf.open("foo-protected.pdf", password=password) as pdf:
            # Password decrypted successfully, break out of the loop             print("[+] Password found:", password)
            break     except pikepdf._qpdf.PasswordError as e:
        # wrong password, just continue in the loop         continue


首先,我们从wordlist.txt当前目录中的文件加载密码列表,在此处获取。您也可以使用rockyou列表或任何其他大单词列表。
接下来,我们遍历列表,尝试通过将password参数传递给pikepdf.open()method来使用每个密码打开文件,
pikepdf._qpdf.PasswordError如果输入的密码不正确,则会引发该错误。
我们在这里使用tqdm只是打印剩余多少单词的进度,查看我的结果:

Decrypting PDF: 43%|████████████████████████████████████████▏ | 2137/5000 [00:06<00:08, 320.70it/s]
[+] Password found: abc123


经过2137次试用后,找到了该密码,耗时约6秒钟。如您所见,它的运行速度约为320字/秒,我们将了解如何提高此速度。


二、使用John Ripper破解PDF密码

John Ripper是一个免费且快速的密码破解软件工具,可在许多平台上使用。但是,这里将预装Kali linux操作系统。
首先,我们需要一种方法来从PDF文件中提取密码哈希,以便适合破解john utility。幸运的是,有一个Python脚本pdf2john.py可以做到这一点,让我们下载它:

如何用python破解pdf的密码


下载pdf2john.py将受密码保护的PDF放在当前目录中,我的名为foo-protected.pdf,然后运行以下命令:

root@bfw:~/pdf-cracking# python3 pdf2john.py foo-protected.pdf | sed "s/::.*$//" | sed "s/^.*://" | sed -r 's/^.{2}//' | sed 's/.\{1\}$//' > hash

这会将PDF密码哈希提取到名为的新文件中hash,这是我的结果:

如何用python破解pdf的密码


使用pdf2john提取PDF密码哈希将密码哈希保存到hash文件中后,使用cat命令将其打印到屏幕上。
最后,我们使用此哈希文件来破解密码:

如何用python破解pdf的密码


使用John Ripper成功破解了密码我们只需使用命令“ john [hashfile]”。如您所见,该密码012345以4503p / s的速度被发现。


三、使用iSeePassword Dr.PDF破解PDF密码

并非所有用户都喜欢使用Python进行编码或使用Linux中的命令。因此,如果您正在Windows上寻找有效的PDF密码破解程序,那么iSeePassword Dr.PDF是最佳选择之一。

如何用python破解pdf的密码


导入PDF文件
该PDF密码破解程序具有易于理解的UI,因此,即使是新手,也都知道如何使用该程序。此外,它提供了三种强大的密码破解算法,包括Dictionary,暴力和自定义暴力破解。您可以自由设置几种类型的参数来提高性能。
找到密码图片

如何用python破解pdf的密码

当前,密码破解速度高达每秒100K,使其成为破解PDF密码最快的程序之一。


四、总结

就是这样,我们的工作已经完成,我们已经使用三种方法成功破解了PDF密码:pikepdf,John The Ripper和iSeePassword Dr.PDF。第一种方法需要花费很多时间来破解密码,但是对于Python程序员而言非常直观,而其他方法是在短时间内获取PDF文件密码的最终方法。本文旨在解密破解过程,不得用于非法目的与用途。

以上就是“python基础教程之破解pdf解压密码(如何用python破解pdf的密码)”的详细内容,想要了解更多python教程欢迎持续关注编程学习网

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取