企鹅解密:Linux下如何破解加密PDF文档

如果忘记了重要的 PDF 文档的密码,如何破解?
如果觉得每次打开 PDF 文档都需要输入密码太麻烦,怎么样去掉密码?

在 Linux 下,这些都不是问题。今天,MINTOS 站长薄荷君就给大家分享在 Linux 下如何破解加密 PDF 文档、如何去掉加密文档的密码。

首先安装两个 PDF 实用小工具。LinuxMint 20/Ubuntu 20.04 为例,在终端中输入如下命令安装即可:
sudo apt install qpdf pdfcrack

其中,qpdf 是可以编辑 PDF 文档的命令行工具,我们在此用来移除 PDF 文档密码。pdfcrack,看名字就知道了,破解工具。

用法非常简单,比如我要破解的 PDF 文档名为 testdoc.pdf,使用如下命令,暴力破解。
pdfcrack -f testdoc.pdf

这个可是不指定字典、不指定密码长度的纯暴力破解,CPU 全速运转中。

在破解的过程中,随时可以按 CTRL+C 中止破解。pdfcrack 会自动保存进度为 savedstate.sav。下次要继续破解,可以使用如下命令加载这个进度文件,不必从头开始。
pdfcrack -f testdoc.pdf -l savedstate.sav

显然,不指定密码字典、不设定密码长度的破解,几乎是没有意义的。如果密码稍微复杂一点,恐怕几个月也未必能破解出来。

pdfcrack 提供了丰富的参数,帮助提高破解效率,如下命令,可以指定密码由数字组成、密码最小长度为 6 位。
pdfcrack -f testdoc.pdf -c 0123456789 -n=6

-c abcd1234:指定密码由 abcd 和 1234 任意组合;
-n=6:指定密码最小长度为 6 位;
-m=10:指定密码最大长度为 10 位;

通过指定密码字典和长度,简单的密码很容易就破解出来了。破解结果,密码为 123456。

关于 pdfcrack 的更多参数和用法,可以使用 Linux 中通用的“命令 -h ”的方式获得帮助信息。

对于已经知道了密码的 PDF 文档,可以使用 qpdf 命令移除密码。用法如下:
qpdf --decrypt --password=123456 old.pdf new.pdf
(old.pdf 为加密的原文件,new.pdf 为解密后的新文件)

小结:Linux 的实用工具非常丰富,我们作为 Linux 用户,没有什么学校指定的教材,而是需要我们不断地坚持问题导向,遇到问题和需求就善用搜索工具、善用外文资料,才能不断地提高水平、积累技巧。