blob: 14af439e32c8d32ec9536e61bb91f1902f3d1d59 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#! /usr/bin/env python3
# Chapter 13 Practice Brute-Force PDF Password Breaker
# USAGE: Change the pdfFile varible below and run the script to try 44,000 English words
# from the dictionary.txt file to decrypt the encrypted PDF.
import PyPDF2
pdfFile = open('bruteForce.pdf', 'rb') #Change this file name and location
pdfReader = PyPDF2.PdfFileReader(pdfFile)
dictionaryFile = open('dictionary.txt')
passwordList = dictionaryFile.readlines()
for word in range(len(passwordList)):
passWord = passwordList[word].strip()
passWorkedUpper = pdfReader.decrypt(passWord.upper())
if passWorkedUpper == 1:
print('The password is: ' + passWord.upper())
break
else:
print(passWord.upper() + ' did NOT work...')
passWorkedLower = pdfReader.decrypt(passWord.lower())
if passWorkedLower == 1:
print('The password is: ' + passWord.lower())
break
else:
print(passWord.lower() + ' did NOT work...')
dictionaryFile.close()
pdfFile.close()
|