安全起見,我們經常會對一些重要的PDF文檔進行加密。不過有時候我們需要將這些文件發送給其他人,同時又不想告訴對方密碼(因為這很容易暴露自己的密碼設置習慣),甚至有一種極端的情況是自己將密碼忘記了,這時怎么辦?通過Linux下的一些工具軟件,我們可以自己為PDF解密。下面我們就以麒麟Ubuntu系統為例。
可能很多朋友沒有安裝Ubuntu,大家可以借助虛擬機進行安裝。Windows 10用戶直接激活系統自帶的虛擬機,在“啟動或關閉Windows功能”中打開“Hyper-V”,然后按提示安裝必須的文件開啟,這樣在Hyper-V中安裝Linux系統即可。
將解密PDF轉化為無加密的PDF
如果你知道某個PDF文件的密碼,但是不想將加密的PDF文件直接傳送給朋友,此時我們就可以借助Qpdf將加密的PDF文件導出為無密碼的PDF文件。
進入麒麟Ubuntu系統后打開加密文件,可以看到此時需要輸入PDF密碼才能打開加密文件,下面使用Qpdf導出無加密的PDF(圖1)。

圖1 加密文件無法打開
Qpdf的下載可以借助麒麟Ubuntu軟件市場的“Uget”,打開“ubuntu kylin software center”,按提示安裝Uget。下載后啟動軟件,點擊“file→new download”,新建一個下載鏈接,下載地址為https://github.com/qpdf/qpdf/releases/download/release-qpdf-8.0.2/qpdf-8.0.2.tar.gz(圖2)。

圖2 下載軟件
成功完成下載后打開,將壓縮包解壓到桌面備用,打開壓縮包運行其中的“install-sh”進行安裝即可。把需要解密的PDF文件放置在桌面假設文件為“ywx.pdf”,點擊“麒麟圖標→Xterm”啟動終端,接著在終端輸入“cd ~/home/yumufa/Desktop”(注意桌面目錄名為Desktop,D為大寫)進入用戶桌面目錄,輸入命令“qpdf --password='123456' --decrypt ywx.pdf aa.pdf”進行無加密導出,這里“123456”為原PDF打開密碼(圖3)。

圖3 解密導出
這樣返回桌面可以看到一個“aa.pdf”文件,現在試一試是不是無需密碼就可以打開了。這樣借助高效命令行,我們可以通過qpdf順利將加密文件導出為無密碼PDF文件(圖4)。

圖4 導出無加密文件
上述方法是直接進行“加密→無加密”的導出,如果覺得命令行操作比較繁瑣,那么還可以借助“evince”,它是一款GUI界面的PDF閱讀程序。啟動程序后打開加密的PDF文件,點擊“文件→打印→選擇打印到文件”,接著在彈出的窗口,輸出格式選擇pdf,最后點擊打印,這樣“打印”(實際為輸出)的就是沒有加密的PDF文檔了(圖5)。

圖5 使用打印方法解除密碼
暴力解密,直接打開加密PDF
上述方法是我們需要預先知道PDF密碼,然后通過輸出無密碼PDF文檔實現文件的解密。如果你徹底忘記原來PDF密碼,那么就需要借助pdfcrack進行破解。
同上先安裝程序,接著啟動終端輸入“pdfcrack -f /home/yumufa/Desktop/ywx.pdf -n 6 -m 8 -c 0123456789”。這樣程序會按照我們設置的要求去進行暴力破解,如果PDf密碼比較簡單一會就可以獲得破解結果了(圖6)。

圖6 暴力破解
命令解釋:
“-n 6”:表示密碼長度最短是6位,-m 8:表示密碼 長度最長為8位(為了節約破解時間,一般建議將密碼長短均設置為6位,因為大部分PDF密碼都是6位數)。“-c 0123456789”:表示密碼組成的字符是0→9數字,如果確定PDF密碼長度包含其他字母,則按提示在字符后面添加需要的字母即可。
可以看到PDFcrack主要是借助組合字符進行暴力破解,因此對于復雜密碼的PDF文件,我們可以借助暴力字符字典,以方便PDFcrack進行調用破解。字典里里面包含有數字1-10字母A-Z及鍵盤上的各種符號的任意組合,破解軟件就會用字典文件中的組合一個一個試著驗證,對于簡單的密碼,使用配置合理的字典文件很快就可以找到相同的組合從而破解密碼,大家可以自行到網上下載常用的密碼字典,下載后將其保存在軟件安裝目錄,并命名zidian.txt(圖7)。

圖7 字典密碼
返回終端窗口,繼續輸入“pdfcrack -f ywx.pdf -w zidian.txt”,這樣程序會調用字典進行破解,可以更快更全面的進行破解(圖8)。

圖8 使用暴力字典破解
寫在最后
對于加密文件的解密,在常規的Windows系統下一般難度較大,而且很多軟件是收費的,更惡劣的是內嵌病毒、木馬等。相對來說Linux系統下大多數都是免費軟件,而且由于Linux系統占用資源少,在暴力解密時可以獲得更快的速度。
|