Python如何破解PDF文件?本文带你了解如何使用 pikepdf、pdf2john 和其他工具在 Python 中破解受密码保护的 PDF 文件。
如何在Python中破解PDF文件?让我们假设你有一个受密码保护的 PDF 文件,访问它是你的首要任务,但不幸的是,你忽略了密码。所以,在这个阶段,你会寻找一种可以立竿见影的方法。在本教程中,你将学习如何:
- 使用Python 中的pikepdf库暴力破解PDF 文件。
- 提取 PDF 密码哈希并使用John the Ripper实用程序破解它。
- 使用iSeePassword Dr.PDF程序破解 PDF 密码。
pip3 install pikepdf tqdm
使用 pikepdf 破解 PDF 密码如何在Python中破解PDF文件?pikepdf是一个 Python 库,允许我们创建、操作和修复 PDF 文件。它提供了一个围绕C++ QPDF 库的 Pythonic 包装器。
Python破解PDF文件示例: 不过,我们不会为此使用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 列表或任何其他大型词表。你还可以使用 Crunch 工具生成你自己的自定义词表。接下来,我们遍历列表并尝试使用每个密码打开文件,通过将
password
参数传递给pikepdf.open()
方法,pikepdf._qpdf.PasswordError
如果密码不正确,这将引发。Python破解PDF文件示例 - 我们在这里使用tqdm只是为了打印剩余单词数的进度,看看我的结果:
Decrypting PDF:43%|████████████████████████████████████████▏| 2137/5000 [
00:06<
00:08, 320.70it/s]
[
+] Password found: abc123
经过2137 次试验,大约用了 6 秒,找到了密码。如你所见,它的速度约为320 字/秒,我们将看看如何提高这个速度。
使用 John The Ripper 破解 PDF 密码Python如何破解PDF文件?John the Ripper是一款免费且快速的密码破解软件工具,可在许多平台上使用。但是,我们将在这里使用 Kali linux 操作系统,因为它已经预先安装好了。
首先,我们需要一种从 PDF 文件中提取密码哈希的方法,以便适合在 john 实用程序中进行破解。幸运的是,有一个 Python 脚本pdf2john.py可以做到这一点,让我们下载它:
文章图片
将受密码保护的 PDF 放在当前目录中,我的名为
foo-protected.pdf
,然后运行以下命令:root@rockikz:~/pdf-cracking# python3 pdf2john.py foo-protected.pdf | sed "s/::.*$//" | sed "s/^.*://" | sed -r 's/^.{2}//' | sed 's/.\{1\}$//' > hash
这会将 PDF 密码哈希提取到一个名为 的新文件中
hash
,这是我的结果:文章图片
将密码哈希保存到
hash
文件中后,我使用cat
命令将其打印到屏幕上。Python破解PDF文件示例 - 最后,我们使用这个哈希文件来破解密码:
文章图片
【如何在Python中破解PDF文件(详细实现教程)】我们只需使用命令"john [hashfile]"。如你所见,密码
012345
以4503p/s的速度被找到。相关: 如何使用 hashlib 在 Python 中使用哈希算法。
使用 iSeePassword Dr.PDF 破解 PDF 密码Python如何破解PDF文件?并非所有用户都习惯使用 Python 编码或在 Linux 中使用命令。因此,如果你正在寻找一款有效的 Windows 上的 PDF 密码破解程序,那么iSeePassword Dr.PDF是最佳选择之一。
文章图片
文章图片
结论就这样,我们的工作完成了。Python如何破解PDF文件?我们已经使用三种方法成功破解了 PDF 密码:pikepdf、 John The Ripper 和 iSeePassword Dr.PDF。第一种方法破解密码需要很多时间,但对Python程序员来说非常直观,而其他方法是在短时间内获取PDF文件密码的终极方法。确保将其用于道德和自用。
推荐阅读
- 如何在Python中暴力破解ZIP文件密码(代码实现教程)
- 如何在Python中构建SQL注入扫描器(代码实现指南)
- 如何在Python中进行SYN泛洪攻击(代码实现指南)
- 如何在Python中提取Chrome密码(代码实现指南)
- 如何在Python中使用Shodan API(代码实现)
- 如何在Python中创建HTTP代理(代码示例)
- 如何在Python中提取Chrome Cookie(详细实现)
- 如何使用Experest的Appium Studio进行移动自动化测试()
- 在Python中如何使用OpenCV实现人脸检测(详细实现指南)