No project description provided
Project description
pdf2john
This repository is a modern refactoring of the legacy pdf2john.py library, aimed at making the code easier to read and maintain.
Install
Clone the repo
git clone https://github.com/benjamin-awd/pdf2john.git
Install dependencies using Homebrew
brew bundle
Create a virtual environment and install Python dependencies
pyenv virtualenv 3.11.4 pdf2john
pyenv shell pdf2john
poetry install
or if you don't want to use a virtual environment, simply
pip install -r requirements.txt
Usage
Run pdf2john.py with a PDF of choice
python3 pdf2john.py tests/pdf/pypdf/r6-user-password.pdf
To pass the hash to john:
python3 pdf2john.py tests/pdf/pypdf/r6-empty-password.pdf >> .hash
john --format=PDF tests/pdf/pypdf/r6-empty-password.pdf .hash
john --show --format=PDF .hash
Features
- Responsibility for PDF parsing and handling has been delegated to pyHanko (a crytography focused fork of PyPDF2)
- CICD workflow that tests pdf2john against PDFs ranging from Security Handler Revision 2 -> 6
- Removal of legacy Python 2.x support
- Readability improvements (a general attempt to be more Pythonic)
Acknowledgement
This repository was based on the original pdf2john.py code by Shane Quigley
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pdf2john-0.1.2.tar.gz
(3.8 kB
view hashes)