From Collaborative RCE Tool Library
pdf-parser
| Tool name: | pdf-parser |
|
||
|---|---|---|---|---|
| Author: | Didier Stevens | |||
| Website: | http://blog.didierstevens.com/programs/pdf-tools | |||
| Current version: | 0.3.1 | |||
| Last updated: | May 13, 2009 | |||
| Direct D/L link: | Locally archived copy | |||
| License type: | Free / Open Source | |||
| Description: | This tool will parse a PDF document to identify the fundamental elements used in the analyzed file. It will not render a PDF document. The code of the parser is quick-and-dirty, I’m not recommending this as text book case for PDF parsers, but it gets the job done. The stats option display statistics of the objects found in the PDF document. Use this to identify PDF documents with unusual/unexpected objects, or to classify PDF documents. For example, I generated statistics for 2 malicious PDF files, and although they were very different in content and size, the statistics were identical, proving that they used the same attack vector and shared the same origin. The search option searches for a string in indirect objects (not inside the stream of indirect objects). The search is not case-sensitive, and is susceptible to the obfuscation techniques I documented (as I’ve yet to encounter these obfuscation techniques in the wild, I decided no to resort to canonicalization). filter option applies the filter(s) to the stream. For the moment, only FlateDecode is supported (e.g. zlib decompression). The raw option makes pdf-parser output raw data (e.g. not the printable Python representation). objects outputs the data of the indirect object which ID was specified. This ID is not version dependent. If more than one object have the same ID (disregarding the version), all these objects will be outputted. reference allows you to select all objects referencing the specified indirect object. This ID is not version dependent. type alows you to select all objects of a given type. The type is a Name and as such is case-sensitive and must start with a slash-character (/). |
|||
| Related URLs: |
|
|||
| Screenshot: |
|---|
![]() |
Feed containing all updates for this tool.
(please also edit it if you think it fits well in some additional category, since this can also be controlled)

You are welcome to add your own useful notes about this tool, for others to see!