假設我們有一個已經加密的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文件密碼的最終方法。本文旨在解密破解過程,不得用于非法目的與用途
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。