Hola a todos, estoy realizando un pequeño script en python que consiste en sacar los metadatos de los archivos pdf de una carpeta especifica y también que crackee la contraseña en caso de estar el pdf encriptado a través de un diccionario que el mismo script crea añadiéndole los caracteres y la longitud de la contraseña.
El problema esta en que a la hora de crackear un pdf que tengo con una contraseña simple como 123456 el programa parece que la prueba pero sin embargo no la detecta como la contraseña del archivo.
Supongo que me abre equivocado en alguna parte del script y no consigo hacerlo funcionar. Si alguien me sabe decir cual puede ser el error le estaría agradecido, os adjunto el código del script a continuación:
Código: python
Gracias de antemano, saludos
El problema esta en que a la hora de crackear un pdf que tengo con una contraseña simple como 123456 el programa parece que la prueba pero sin embargo no la detecta como la contraseña del archivo.
Supongo que me abre equivocado en alguna parte del script y no consigo hacerlo funcionar. Si alguien me sabe decir cual puede ser el error le estaría agradecido, os adjunto el código del script a continuación:
# -*- encoding: utf-8 -*-
from PyPDF2 import PdfFileReader, PdfFileWriter
import os
import sys
import optparse
import itertools
import PyPDF2
def crackPass():
c=raw_input("\nIntroduce caracteres como 12abcjfi@ que se van a usar en el diccionario :")
e=raw_input("\nIntroduce la longitud maxima de la contraseña= ")
for dirpath, dirnames, files in os.walk("meta"):
for name in files:
ext = name.lower().rsplit('.', 1)[-1]
if ext in ['pdf']:
pdf = PyPDF2.PdfFileReader(file(dirpath+os.path.sep+name, 'rb'))
if not pdf.isEncrypted:
print'No hay contraseña'
else:
b = 1 + int(e)
r=range(int(b))
for x in r:
res = itertools.product(c, repeat=int(x))
for i in res:
print'[+] Intentando contraseña',i
password =""+''.join(i)
if pdf.decrypt(password):
print '[+] password :',i
sys.exit()
print '[-] Contraseña no encontrada'
crackPass()
def printMeta():
for dirpath, dirnames, files in os.walk("meta"):
for name in files:
ext = name.lower().rsplit('.', 1)[-1]
if ext in ['pdf']:
print "[+] Metadata for file: %s " %(dirpath+os.path.sep+name)
pdfFile = PdfFileReader(file(dirpath+os.path.sep+name, 'rb'))
docInfo = pdfFile.getDocumentInfo()
for metaItem in docInfo:
print '[+] ' + metaItem + ':' + docInfo[metaItem]
print "\n"
printMeta()
Gracias de antemano, saludos