Closed2
PDFのパスワードを総当たりで解析する
QPDFでパスワード保護を解除
パスワードがわかる場合のみ。
qpdf --password=xxxxxxxx --decrypt input.pdf output.pdf
pikepdfで総当たりする
pikepdfとtqdmが無ければ入れる。
pip install pikepdf tqdm
以下のソースコードを実行してパスワードを解除したPDFを保存。
import pikepdf
from tqdm import tqdm
import os
passwords = [] # パスワードの候補を入れる
file_name = "xxxxxxxxxxxx.pdf"
for password in tqdm(passwords, "Decrypting PDF"):
try:
with pikepdf.open(file_name, password=password) as pdf:
print("[+] Password found:", password)
new_pdf = pikepdf.Pdf.new()
new_pdf.pages.extend(pdf.pages)
new_pdf.save(f"{os.path.splitext(file_name)[0]}_decrypted.pdf")
break
except pikepdf._qpdf.PasswordError as e:
continue
このスクラップは2022/06/04にクローズされました