Skip to main content


Project description

** Home page **

** Dependencies **

** Installation **

Run, in peepdf directory

easy_install .

The setup script handles the installation of jsbeautifier, colorama, pythonaes and lxml

** Execution **

There are two important options when peepdf is executed:

-f: Ignores the parsing errors. Analysing malicious files propably leads to parsing errors, so this parameter should be set. -l: Sets the loose mode, so does not search for the endobj tag because it’s not obligatory. Helpful with malformed files.

  • Simple execution

Shows the statistics of the file after being decoded/decrypted and analysed: [options] pdf_file
  • Interactive console

Executes the interactive console to let play with the PDF file: -i [options] pdf_file

If no PDF file is specified it’s possible to use the decode/encode/js*/sctest commands and create a new PDF file: -i
  • Batch execution

It’s possible to use a commands file to specify the commands to be executed in the batch mode. This type of execution is good to automatise analysis of several files: [options] -s commands_file pdf_file

** Updating **

The option has been desactivated as it is not working for now. To update, cd to peepdf directory and type:

git pull origin master easy_install .

** Some hints **

If the information shown when a PDF file is parsed is not enough to know if it’s harmful or not, the following commands can help to do it:

  • tree

Shows the tree graph of the file or specified version. Here we can see suspicious elements.

  • offsets

Shows the physical map of the file or the specified version of the document. This is helpful to see unusual big objects or big spaces between objects.

  • search

Search the specified string or hexadecimal string in the objects (decoded and encrypted streams included).

  • object/rawobject

Shows the (raw) content of the object.

  • stream/rawstream

Shows the (raw) content of the stream.

  • The rest of commands, of course

> help

** Bugs **

Send me bugs and comments, please!! ;) You can do it via mail (jesparza AT or through Github (


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for peepdf, version 0.3.2
Filename, size File type Python version Upload date Hashes
Filename, size peepdf-0.3.2.tar.gz (108.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page