PDFCrack multi-core and multi-computer extension

PDFCrack is a tool to recover lost passwords from a PDF File. The project is open source (GPL) and publicly available under sourceforge. The tool is written for GNU/Linux systems and has shown to run under MAC OS X and Windows as well. Download the sourcefiles (for Linux/MAC OS X/cygwin) and the executable for windows below.

Here the implemented extensions based on PDFCrack v.0.11 (by Michael Kuhn and Andreas Meier, July 2009):

Multi-core extension (multiple threads)

The additional "-t nrOfThreads" parameter allows to start multiple threads.

If you have a quad core and want to run pdfcrack on three cores (i.e. 3 threads) start pdfcrack with:
Note: The multi-core extension only works for user-password recovery (not the owner password).
Note2: For 40-bit encoded PDF files, the password search on multiple cores does not scale for more than two threads. The underlying cause is that the password generation (which is mutexed for all threads) takes substantial time in comparison with the password check. If you want to use more than two cores, you could start multiple instances of pdfcrack with different password zones (see blow).

Multi-computer extension (password zones)

The additional "-z currentZone/nrOfZones" parameter allows to start multiple instances of the program on multiple machines. You can also start multiple instances of pdfcrack on one machine instead of using the multi-core extension (see above). If you have a cluster of three machines you can start pdfcrack with: Note: Password zones do not work with password lists. If you want to work with passwords list, split the password list first.

Periodic saving of the progress

The progress of the password search is periodically saved (every 30s) in the file "savestateperiodic.sav". Use this file to recover the password search after a system crash. Note: As with the original PDFCrack implementation, the progress is saved in the file "savestatecrash.sav", if pdfcrack is aborted (e.g. ctrl-c).


Source files

Compile first (call make). On Windows, use cygwin.
Download source files
Fixed Makefile if you have compilations errors (thanks to Kyrill Detinov)

Precompiled for Windows

Thanks to cygwin the pdfcrack can be compiled for Windows as well. There is no graphical user interface (GUI): use command prompt (cmd.exe).
Download zip file with precompiled binary (exe)


There are various wordlists available online. Just take your favourite search engine and look for "password lists". A good starting point is the openwall project .


Usage: pdfcrack -f filename [OPTIONS]
-b, --bench perform benchmark and exit
-c, --charset=STRING Use the characters in STRING as charset
-w, --wordlist=FILE Use FILE as source of passwords to try
-n, --minpw=INTEGER Skip trying passwords shorter than this
-m, --maxpw=INTEGER Stop when reaching this passwordlength
-t, --threads=INTEGER Stop number of threads used (default 0)
recommendedfor multi-core systems
-l, --loadState=FILE Continue from the state saved in FILENAME
-o, --owner Work with the ownerpassword
-u, --user Work with the userpassword (default)
-p, --password=STRING Give userpassword to speed up breaking
ownerpassword (implies -o)
-q, --quiet Run quietly
-s, --permutate Try permutating the passwords (currently only
supports switching first character to uppercase)
-v, --version Print version and exit
-z, --zone=INT1/INT2 Run program on multiple hosts (split search space)
© 2009 Andreas Meier | Last updated: 11 August 2009

Valid XHTML 1.0 Strict Valid CSS!