Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - DGPMAJ

#1
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)