Desbloquear contrase�a ZIP

Contrase�a olvidada

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

Plantilla de contrase�a de identificaci�n

Digamos que su contrase�a comienza con el s�mbolo “T0p$ecret” seguido de una letra may�scula en ingl�s y dos d�gitos. Entonces, podemos describir una plantilla como esta:

1string template = "T0p$ecret{0}{1}";

donde el marcador de posici�n anterior es para letras may�sculas en ingl�s, el �ltimo es para n�meros de dos d�gitos.

Verificando contrase�a �nica

Este simple c�digo de descifrado

1 using (var a = new Archive("encrypted.zip", new ArchiveLoadOptions() {DecryptionPassword = password}))
2    a.ExtractToDirectory(".");

genera una InvalidDataException si se ha proporcionado una contrase�a incorrecta.

Ataque de fuerza bruta al archivo

As� que redacte y pruebe las contrase�as una por una. Si el programa tiene �xito, imprime la contrase�a adecuada en la consola.

 1    string template = "T0p$ecret{0}{1}";
 2    for (char c = 'A'; c < 'Z'; c++)
 3    {
 4        bool correct = false;
 5        for (int i = 10; i < 99; i++)
 6        {
 7            string password = string.Format(template, c, i);
 8            try
 9            {
10                using (Archive a = new Archive("encrypted.zip", new ArchiveLoadOptions() {DecryptionPassword = password}))
11                a.ExtractToDirectory(".");
12                correct = true;
13            }
14            catch (System.IO.InvalidDataException e)
15            {
16                correct = false;
17            }
18    
19            if (correct)
20            {
21                Console.WriteLine($"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.