假设我们有一个已经加密的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可以做到这一点,让我们下载它:
下载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,这是我的结果:
使用pdf2john提取PDF密码哈希将密码哈希保存到hash文件中后,使用cat命令将其打印到屏幕上。
最后,我们使用此哈希文件来破解密码:
使用John Ripper成功破解了密码我们只需使用命令“ john [hashfile]”。如您所见,该密码012345以4503p / s的速度被发现。
三、使用iSeePassword Dr.PDF破解PDF密码
并非所有用户都喜欢使用Python进行编码或使用Linux中的命令。因此,如果您正在Windows上寻找有效的PDF密码破解程序,那么iSeePassword Dr.PDF是最佳选择之一。
导入PDF文件
该PDF密码破解程序具有易于理解的UI,因此,即使是新手,也都知道如何使用该程序。此外,它提供了三种强大的密码破解算法,包括Dictionary,暴力和自定义暴力破解。您可以自由设置几种类型的参数来提高性能。
找到密码图片
当前,密码破解速度高达每秒100K,使其成为破解PDF密码最快的程序之一。
四、总结
就是这样,我们的工作已经完成,我们已经使用三种方法成功破解了PDF密码:pikepdf,John The Ripper和iSeePassword Dr.PDF。第一种方法需要花费很多时间来破解密码,但是对于Python程序员而言非常直观,而其他方法是在短时间内获取PDF文件密码的最终方法。本文旨在解密破解过程,不得用于非法目的与用途
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。