Acá les dejo el código necesario para desproteger una hoja de cálculo (no un libro, ni un módulo VBA, solamente una hoja del libro o pestaña). 1.- Abrir la planilla que tiene la hoja protegida 2.- Apretar Alt y F11, para entrar en el proyecto VBA (Visual Basic para Aplicaciones). 3.- En el menú de opciones, seleccionar "Insertar". Seleccionar a continuación "Módulo". 4.- En la parte izquierda, donde se ve el Proyecto, se habrá creado una carpeta llamada "Módulos", y adentro de ella, figurará "Módulo1". 5.- Nos situamos en la ventana de la derecha, clickeamossobre "Módulo1", y copiamos este código: Código: Sub Desbloquear() Dim i As Integer, j As Integer, k As Integer Dim l As Integer, m As Integer, n As Integer On Error Resume Next For i = 65 To 66 For j = 65 To 66 For k = 65 To 66 For l = 65 To 66 For m = 65 To 66 For i1 = 65 To 66 For i2 = 65 To 66 For i3 = 65 To 66 For i4 = 65 To 66 For i5 = 65 To 66 For i6 = 65 To 66 For n = 32 To 126 ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _ Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _ Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) If ActiveSheet.ProtectContents = False Then MsgBox "El password es: " & Chr(i) & Chr(j) & _ Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) _ & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n) Exit Sub End If Next Next Next Next Next Next Next Next Next Next Next Next End Sub Cerramos VBA y volvemos a la planilla, nos ponemos sobre la hoja protegida y apretamos ALT+F8, nos aparece la ventana de macros, seleccionamos el nombre del procedimiento y le damos ejecutar. Al finalizar, el sistema nos mostrará un mensaje, diciéndonos cuál era el password de la hoja, a la vez que la misma se desprotege. Puede que esa contraseña no sea literalmente la que puso el autor de la hoja que hasta hace unos segundos estaba protegida, pero tanto el password original, como este nuevo que el sistema nos da, son equivalentes. Por ejemplo, si tenemos una hoja protegida con el password "pepe", la podemos desproteger con ese password, o con este que es el que obtenemos al ejecutar ese macro: "AAABBABBBAA/". Podés probar que tras proteger una hoja con el password "pepe", ésta se puede desproteger con el password "pepe" (evidentemente), y también con el password "AAABBABBBAA/". Tomar encuenta que no se revela la contraseña original, asi que tener cuidado al usarla ya que no podriamos poner el nombre (clave) original, en todo caso, previo hacer una copia del archivo .xls y trabajarlo sobre el mismo, para que el original no subra modificaciones. Saludos!
Ahhh... un ataque por fuerza bruta.... interesante. Es una caquita la funcion de hashing entonces, seguridad mis polainas PD: las variables i1, i2, i3, i4, i5, i6 no están declaradas previamente, si ponés "Option Explicit" al principio del módulo te chilla.
Si, no me puse a analizarla muy en detenimiento, necesitaba algo asi esta mañana y encontre esto que me resultó mucho mas rapido que los metodos de fuerza bruta tradicionales de softwares externos, anduvo rapidísimo porque en 1 segundo me desprotegió los archivos
No, ya se bola, pero todos los softs que probé normalmente no pasan de los 1000 o 1500 pass por segundo, no se como va tan rápido esto