| 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: info)
TruePolyglot v1.3
git clone https://git.hackade.org/truepolyglot.git/