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.