21-01-2025, 03:37 PM
Buenas tardes.
Llevo poco tiempo aprendiendo PYTHON.
Tengo un problema con un fichero ZIP del cuál no recuerdo la contraseña.
He localizado este programa pero no logro que funcione.
El fichero esta en la siguiente localización: c:\072023JULIO2023.ZIP
Utilizo SPYDER.
Por favor rogaría que lo reviséis.
Muchas gracias.
# -*- coding: utf-8 -*-
# Nombre del archivo ZIP protegido con contraseña
archivo_zip = "c:/072023JULIO2023.zip"
# Lista de caracteres que se usarán para realizar el ataque de fuerza bruta (puedes personalizarla según tus necesidades)
caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-+=[]{}|;:,.<>?`~"
# Longitud máxima de la contraseña a probar
longitud_maxima = 25
def fuerza_bruta():
for longitud in range(1, longitud_maxima + 1):
intento = [0] * longitud
while True:
# Generar la contraseña actual basada en el intento actual
contraseña = ''.join([caracteres[i] for i in intento])
try:
with zipfile.ZipFile(archivo_zip, "r") as zf:
zf.extractall(pwd=bytes(contraseña, 'utf-8'))
print(f"Contraseña encontrada: {contraseña}")
return
except Exception as e:
# Continuar con el siguiente intento
pass
# Aumentar el intento
posicion = 0
while True:
if posicion == longitud:
break
intento[posicion] += 1
if intento[posicion] == len(caracteres):
intento[posicion] = 0
posicion += 1
else:
break
if __name__ == "__main__":
fuerza_bruta()
Llevo poco tiempo aprendiendo PYTHON.
Tengo un problema con un fichero ZIP del cuál no recuerdo la contraseña.
He localizado este programa pero no logro que funcione.
El fichero esta en la siguiente localización: c:\072023JULIO2023.ZIP
Utilizo SPYDER.
Por favor rogaría que lo reviséis.
Muchas gracias.
# -*- coding: utf-8 -*-
# Nombre del archivo ZIP protegido con contraseña
archivo_zip = "c:/072023JULIO2023.zip"
# Lista de caracteres que se usarán para realizar el ataque de fuerza bruta (puedes personalizarla según tus necesidades)
caracteres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-+=[]{}|;:,.<>?`~"
# Longitud máxima de la contraseña a probar
longitud_maxima = 25
def fuerza_bruta():
for longitud in range(1, longitud_maxima + 1):
intento = [0] * longitud
while True:
# Generar la contraseña actual basada en el intento actual
contraseña = ''.join([caracteres[i] for i in intento])
try:
with zipfile.ZipFile(archivo_zip, "r") as zf:
zf.extractall(pwd=bytes(contraseña, 'utf-8'))
print(f"Contraseña encontrada: {contraseña}")
return
except Exception as e:
# Continuar con el siguiente intento
pass
# Aumentar el intento
posicion = 0
while True:
if posicion == longitud:
break
intento[posicion] += 1
if intento[posicion] == len(caracteres):
intento[posicion] = 0
posicion += 1
else:
break
if __name__ == "__main__":
fuerza_bruta()