feat: impl ezpdf decrypter

This commit is contained in:
senstella
2026-02-25 15:33:47 +09:00
commit 149d81d244
13 changed files with 747 additions and 0 deletions

20
main.py Normal file
View File

@@ -0,0 +1,20 @@
from pypdf import PdfWriter
from pypdf.generic import IndirectObject
from src.pdf import EZPdfReader
reader = EZPdfReader("test.ezpdf")
for gen, entries in reader.xref.items():
if gen == 65535:
continue
for objid in list(entries.keys()):
reader.get_object(IndirectObject(objid, gen, reader))
for objid in list(reader.xref_objStm.keys()):
reader.get_object(IndirectObject(objid, 0, reader))
writer = PdfWriter()
writer.clone_document_from_reader(reader) # clones root pages etc
with open("out.pdf", "wb") as f:
writer.write(f)