21C3 Schedule Release 1.1.7

21st Chaos Communication Congress
Lectures and workshops

Picture of Maik Musall Maik Musall
Day 1
Location Saal 3
Start Time 12:00 h
Duration 01:00
ID 67
Type Lecture
Track Hacking
Language english

Inside PDF

Principles and structure of Adobe's Portable Document Format

Introduction to the Portable Document Format. We look inside PDF files and learn about the format itself, it's strengths and weaknesses, and try to set a base for further individual studies.

PDF is a file format everyone is using, but most people, including the majority of the hacker community, knows very little about how it works.

This lecture is intended as an introduction to the PDF file format. For the audience, knowledge about other file formats is helpful but not mandatory.

The file format will be explained in as much detail as fits in one hour, using self-generated "hello world" style examples as well as more complicated examples for selected PDF features. The covered areas include the following (no particular order yet):

  • brief history and overview to PDF versions (1.0 to 1.5, PDF/X, PDF/A)
  • standards and license issues
  • syntax and semantics overview of the file format
  • relationship PostScript and PDF
  • fonts
  • bitmap and vector graphics
  • strings, streams, compression, encryption

The ideal goal is to enable the listener to understand the structure of a given PDF by opening it in vi or a hex editor, and to get an idea about the effort that is needed to write a PDF generator or a PDF consumer application.

A short (and incomplete) overview to tools, applications and pointers to further information will be included in documentation to the lecture.

The lecture will be held in English unless there's nobody in the audience who doesn't understand German.

A preliminary version of the lecture has already been held at ICMP2.

A workshop to examine selected technical areas in more detail is possible after the lecture, if there's a timeslot left to fill.