An Electron app that brute-forces password-protected files using a wordlist.
Built by the MDX Cyber Security Society as a collaborative session project.
Drop a locked file onto the app, select a wordlist, and hit Crack File. The app calls the matching Python cracker script from the crackers/ folder and streams progress back to the UI.
The ZIP cracker is the working reference implementation. All other file types are stubbed out — that's what you're here to fix.
Requirements: Node.js, Python 3.x
git clone https://github.com/<your-fork>/file-cracker
cd file-cracker
npm install
npm start- Fork this repo
- Create a branch:
git checkout -b feat/pdf-cracker - Open
crackers/<filetype>.pyand follow the TODO comments - Test it:
python crackers/pdf.py --file test.pdf --wordlist wordlist.txt - Update
supported-types.json— change"status": "stub"to"status": "working"for your file type - Open a PR with a short description of what library you used
Every cracker must write to stdout in this format so the app can parse it:
| Line | Meaning |
|---|---|
PROGRESS:200/14000 |
Tried 200 of 14000 passwords — updates the progress bar |
SUCCESS:hunter2 |
Password found |
FAILED |
Wordlist exhausted, no match |
ERROR:some message |
Something went wrong |
See crackers/zip.py for a complete working example.
- Add a new entry to
supported-types.json - Create
crackers/<extension>.pyusing the stub template from any existing stub - Open a PR
The app works with any plaintext wordlist. A good starting point is rockyou.txt, which is included with Kali Linux at /usr/share/wordlists/rockyou.txt.
For quick testing, create a short wordlist and put the real password somewhere in the middle.
| Extension | Library | Status |
|---|---|---|
.zip |
zipfile (stdlib) |
Working |
.pdf |
pikepdf |
Stub |
.docx |
msoffcrypto-tool |
Stub |
.xlsx |
msoffcrypto-tool |
Stub |
.txt |
hashlib (stdlib) |
Stub |
MDX Cyber Security Society — mdxcyberhub.netlify.app