Description | Version |
---|---|
Build a polyglot file valid as PDF and ZIP format and that can be opened with 7Zip and Windows Explorer | POC |
Add a stream object in PDF part | POC |
Polyglot file checked without warning with pdftocairo | >= 1.0 |
Polyglot file checked without warning with caradoc | >= 1.0 |
Rebuild PDF Xref Table | >= 1.0 |
Stream object with correct length header value | >= 1.0 |
Format "zippdf", file without offset after Zip data | >= 1.1 |
Polyglot file keep original PDF version | >= 1.1.1 |
Add "szippdf" format without offset before and after Zip data | >= 1.2 |
Fix /Length stream object value and PDF offset for szippdf format | >= 1.2.1 |
PDF object numbers reorder after insertion | >= 1.3 |
Software | Formats | status |
---|---|---|
Acrobat Reader | pdfzip, zippdf | OK |
Acrobat Reader | szippdf | KO |
Sumatra PDF | pdfzip, zippdf, szippdf | OK |
Edge | pdfzip, zippdf, szippdf | OK |
Firefox | pdfzip, zippdf, szippdf | OK |
7zip | pdfzip, zippdf | OK with warning |
7zip | szippdf | OK |
Explorer Windows | pdfzip, zippdf, szippdf | OK |
Info-ZIP (unzip) | pdfzip, zippdf, szippdf | OK |
Evince | pdfzip, zippdf, szippdf | OK |
pdftocairo -pdf | pdfzip, zippdf, szippdf | OK |
caradoc stats | pdfzip | OK |
java | szippdf | OK |
PDF input file | Zip input file | Format | Polyglot | Comment |
---|---|---|---|---|
doc.pdf | archive.zip | pdfzip | polyglot.pdf | PDF/ZIP polyglot - 122 Ko |
orwell_1984.pdf | file-FILE5_32.zip | pdfzip | polyglot.pdf | PDF/ZIP polyglot - 1.3 Mo |
x86asm.pdf | fasmw17304.zip | pdfzip | polyglot.pdf | PDF/ZIP polyglot - 1.8 Mo |
doc.pdf | archive.zip | zippdf | polyglot.pdf | PDF/ZIP polyglot - 112 Ko |
electronics.pdf | hello_world.jar | szippdf | polyglot.pdf | PDF/JAR polyglot - 778 Ko |
hexinator.pdf | eicar.zip (scan virustotal.com) | pdfzip | polyglot.pdf (scan virustotal.com) | PDF/ZIP polyglot with Eicar test in Zip - 2.9 Mo |
usage: truepolyglot format [options] output-file Generate a polyglot file. Formats availables: * pdfzip: Generate a file valid as PDF and ZIP. The format is closest to PDF. * zippdf: Generate a file valid as ZIP and PDF. The format is closest to ZIP. * szippdf: Generate a file valid as ZIP and PDF. The format is strictly a ZIP. Archive is modified. positional arguments: {pdfzip,zippdf,szippdf} Output polyglot format output_file Output polyglot file path optional arguments: -h, --help show this help message and exit --pdffile PDFFILE PDF input file --zipfile ZIPFILE ZIP input file --verbose {none,error,info,debug} Verbosity level (default: debug) TruePolyglot v1.3