Buenos días.
Llevo muy poco tiempo intentando programar en Python con ayuda de internet y con algún que otro manual.
He creado un fichero ZIP con contraseña 1234
He comprobado que se puede descomprimir con esa contraseña.
Tengo este programa para poder recuperar la contraseña de otro fichero ZIP (la cual he olvidado, y que es muy importante para mí).
A modo de prueba, a la variable chars le he asignado el valor de la contraseña chars = "1234"
He ejecutado el programa e imprime en pantalla las contraseñas que genera pero al terminar da el mensaje No se encontró la contraseña.
¿Cual puede ser el motivo?.
Gracias anticipadas.
import zipfile
import itertools
import string
def extract_zip(zip_file, password):
try:
zip_file.extractall(pwd=password.encode('utf-8'))
return True
except (RuntimeError, zipfile.BadZipFile, zipfile.LargeZipFile):
# Maneja errores de contraseña incorrecta o archivo ZIP corrupto
return False
def brute_force_zip(zip_path, max_length):
with zipfile.ZipFile(zip_path) as zip_file:
# chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$%&*_-" # Caracteres a probar
chars = "1234"
for length in range(1, max_length + 1):
for attempt in itertools.product(chars, repeat=length):
password = ''.join(attempt)
print(f"Probando: {password}")
if extract_zip(zip_file, password):
print(f"¡Contraseña encontrada!: {password}")
return password
print("No se encontró la contraseña.")
return None
# Ruta al archivo ZIP
# zip_path = "C:\\python\\072023JULIO2023.ZIP" # "ruta/al/archivo.zip"
zip_path = "C:\\python\\INMERSION EN PYTHON No tienes permitido ver enlaces. Registrate o Entra a tu cuenta" # "ruta/al/archivo.zip"
# Longitud máxima de la contraseña a probar
max_length = 15
# Ejecutar la fuerza bruta
brute_force_zip(zip_path, max_length)
Llevo muy poco tiempo intentando programar en Python con ayuda de internet y con algún que otro manual.
He creado un fichero ZIP con contraseña 1234
He comprobado que se puede descomprimir con esa contraseña.
Tengo este programa para poder recuperar la contraseña de otro fichero ZIP (la cual he olvidado, y que es muy importante para mí).
A modo de prueba, a la variable chars le he asignado el valor de la contraseña chars = "1234"
He ejecutado el programa e imprime en pantalla las contraseñas que genera pero al terminar da el mensaje No se encontró la contraseña.
¿Cual puede ser el motivo?.
Gracias anticipadas.
import zipfile
import itertools
import string
def extract_zip(zip_file, password):
try:
zip_file.extractall(pwd=password.encode('utf-8'))
return True
except (RuntimeError, zipfile.BadZipFile, zipfile.LargeZipFile):
# Maneja errores de contraseña incorrecta o archivo ZIP corrupto
return False
def brute_force_zip(zip_path, max_length):
with zipfile.ZipFile(zip_path) as zip_file:
# chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@#$%&*_-" # Caracteres a probar
chars = "1234"
for length in range(1, max_length + 1):
for attempt in itertools.product(chars, repeat=length):
password = ''.join(attempt)
print(f"Probando: {password}")
if extract_zip(zip_file, password):
print(f"¡Contraseña encontrada!: {password}")
return password
print("No se encontró la contraseña.")
return None
# Ruta al archivo ZIP
# zip_path = "C:\\python\\072023JULIO2023.ZIP" # "ruta/al/archivo.zip"
zip_path = "C:\\python\\INMERSION EN PYTHON No tienes permitido ver enlaces. Registrate o Entra a tu cuenta" # "ruta/al/archivo.zip"
# Longitud máxima de la contraseña a probar
max_length = 15
# Ejecutar la fuerza bruta
brute_force_zip(zip_path, max_length)