Closed2

PDFのパスワードを総当たりで解析する

3w36zj63w36zj6

QPDFでパスワード保護を解除

パスワードがわかる場合のみ。

qpdf --password=xxxxxxxx --decrypt input.pdf output.pdf
3w36zj63w36zj6

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

https://stackoverflow.com/questions/71030266/how-to-open-password-protected-pdf-document

このスクラップは2022/06/04にクローズされました