Desbloquear contrase�a ZIP

**Contrase�a olvidada

Es com�n olvidar la contrase�a “parcialmente”, es decir, recordar algunos caracteres y olvidar otros. La API de Aspose.ZIP te permite jugar con esas contrase�as olvidadas a medias para desbloquear el archivo. Este art�culo muestra c�mo adivinar la contrase�a de descifrado del archivo zip cifrado con AES.

Identificar plantilla de contrase�a

Digamos que su contrase�a empieza por los s�mbolos “T0p$ecret” seguidos de una letra may�scula inglesa y dos d�gitos. Entonces, podemos describir una plantilla as�:

1Cadena plantilla = "T0p$ecret{0}{1}";
donde el primer marcador es para una letra may�scula y el segundo para un n�mero de dos d�gitos.

Verificaci�n de una contrase�a

Este simple c�digo de descifrado

1ArchiveLoadOptions options = new ArchiveLoadOptions();
2options.setDecryptionPassword(contrasea);
3try (Archive a = new Archive("cifrado.zip", opciones))
4    a.extractToDirectory(".");
genera una InvalidDataException si se ha proporcionado una contrase�a incorrecta.

Ataque de fuerza bruta al archivo

As� que componga y pruebe las contrase�as una por una. Si hay �xito el programa imprime la contrase�a correcta en la consola.

 1String plantilla = "T0p$secreto{0}{1}";
 2for (char c = 'A'; c < 'Z'; c++)
 3{
 4    boolean correcto = false
 5    for (int i = 10; i < 99; i++)
 6    {
 7        String contrasea = MessageFormat.format(plantilla, c, i);
 8        ArchiveLoadOptions options = new ArchiveLoadOptions();
 9        options.setDecryptionPassword(contrasea);
10        try (Archive a = new Archive("cifrado.zip", opciones)) {
11            a.extractToDirectory(".");
12            correcto = true;
13        }
14        catch (InvalidDataException e)
15        {
16            correcto = false;
17        }
18
19        if (correct)
20        {
21            System.out.println("Proper password: " + password);
22            break;
23        }
24    }
25
26    if (correct)
27        break;
28}
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.