Cómo desbloquear contraseña de Proyecto VBA de Excel

Total
0
Shares
Desbloquear Contraseña VBA Excel
Desbloquear Contraseña VBA Excel

¿Tiene un proyecto VBA de Excel que está protegido con contraseña? Así es cómo puede desbloquearlo y recuperar la contraseña.

No es inusual olvidar la contraseña de un documento en VBA de Excel ni tampoco tomar posesión del documento de otra persona. Por lo general, suele causar algunos dolores de cabeza. Pero aquí le traigo una solución.

1. ¿Qué es VBA en Excel?

VBA (Visual Basic para Aplicaciones) es el lenguaje de programación de Excel y otros programas de Office. VBA funciona mediante la ejecución de macros, una serie de instrucciones paso a paso escritos en Visual Basic.

Supongo que si has llegado a esta publicación es porque sabes lo que es y seguramente lo utilizas. Bien, a veces sucede que buscamos documentos en internet, por ejemplo, una búsqueda:

project vba filetype:xlsm

y encontramos uno de interés, pero está protegido por contraseña. ¿Que pasa ahora? Bueno, no es demasiado difícil eliminar la protección por completo.  A continuación, veamos cómo hacerlo.

2. Cómo configurar una contraseña VBA de Excel

Si tiene que descifrar una contraseña, es posible que sea consciente de cómo configurar o crear una. Veamos cómo hacerlo con un ejemplo sencillo (además por que lo necesitaremos para más adelante).

  • Vaya a la pestaña Desarrollador en Excel y haga clic en Macros.
Desarrollador Macros Excel
Desarrollador – Macros en Excel
  • En caso de que no ve la ficha Desarrollador, vaya a Archivo > Opciones y luego Personalizar cinta de opciones. Ahora mueva el grupo Desarrollador del panel de la mano izquierda a la derecha. (Y si ya se ubica en la derecha, activar el casillero)
Personalizar Cinta Opciones Desarrollador
Personalizar Cinta Opciones – Desarrollador
  • Una vez que ha seleccionado macros en la pestaña Desarrollador , introduzca un nombre para la macro (es sólo un ejemplo, por lo que los detalles no importan) y haga clic en Crear.
Crear Macros Excel
Crear Macros en Excel
  • Copie y pegue el siguiente código en el Editor de Visual Basic. Esta es una macro simple que entrará en el texto citado en la celda A1. No sirve a ningún propósito real, pero necesitamos algo para proteger con una contraseña.
Range("A1").Value = "Protegido con Protected"
Editor de Visual Basic
Editor de Visual Basic
  • En el Editor de Visual Basic, vaya a Herramientas > Propiedades VBAProject. Y en la pestaña de Protección podrás establecer una contraseña. También tendrá que activar la casilla Bloquear proyecto para visualización.
VBA Project Propiedades del Proyecto
VBA Project
  • Haga clic en Aceptar, asegúrese de guardar el documento como un archivo de Excel con extensión XLSM, y probemos si nuestra contraseña funciona. Cierre el documento y volver a abrirlo, y luego ir a la pestaña Desarrollador y haga clic en Visual Basic.
VBA Project Contraseña
VBA Project Contraseña

Al intentar acceder al VBAProject, verá un mensaje de contraseña. Ahora pasemos a encontrar la manera de quitar o eliminar este tipo de protección.

Uno tendría que pensar dos veces acerca de lo seguro que son las hojas de cálculo en realidad.

3. Cómo Desbloquear Proyectos VBA de Excel

Así es como se puede desproteger un VBA Project de Excel con contraseña:

Esta parte es realmente muy simple una vez que sepas lo que estás haciendo. Primero, vamos a necesitar descargar un editor hexadecimal. Si usted no tiene uno, HxD es una buena opción libre, pero hay un montón de alternativas disponibles.

3.1. Preparando nuestro archivo XLSM

Nuestro proceso difiere ligeramente dependiendo de si estamos rompiendo una contraseña en un antiguo archivo XLS o un archivo XLSM más reciente. Si tiene oportunidad de abrir un XLS, entones guárdelo nuevamente como un XLSM.

  • Buscar en su disco duro el archivo VBA de Excel que desea quitar la contraseña, a continuación, cambie la extensión XLSM por ZIP.
  • Posteriormente, abrir el archivo (con la nueva extensión) con software de compresión de archivos como WinRAR o 7-Zip. Usted debe encontrar una carpeta llamada xl .
Carpeta XL Macros Zip
Carpeta XL
  • Dentro de esta carpeta, usted encontrará un archivo con el nombre vbaProject.bin.
  • Abra el archivo BIN con su editor hexadecimal.

3.2 Deshabilitando  contraseña de un VBA Project

Aquí es donde ser capaz de configurar una contraseña es muy útil. Cree un documento ficticio de Excel, agregue una macro a él y establezca una contraseña como se describe al principio de este artículo. A continuación, vamos a tomar el código hexadecimal que estipula qué es la contraseña, y lo insertaremos en el archivo al que queremos acceder.

Una vez que haya configurado el archivo, guárdelo y realice el mismo proceso que hicimos hace unos instantes para que acabe con otro archivo vbaProject.bin. Asegúrese de recordar la contraseña creada!

  • Ahora debe tener ambos archivos vbaProject.bin abiertos en su Editor Hexadecimal. No los mezclen o vamos a tener grandes problemas.
  • Utilice Ctrl + F en el archivo que creó para encontrar la siguiente cadena:

CMG=

  • Lo anterior es el comienzo del código que estipula la contraseña actual. Necesitamos copiar y pegar tres valores:

CMG=
DPB=
GC=

  • A continuación puede ver cómo lo hice.
HxD Password Macros VBA
HxD Password Macros VBA
  • Transfiera este código a su otro archivo vbaProject.bin y colóquelo en la posición correspondiente, asegurándose de no borrar nada más. Guarde su archivo hexadecimal editado.
  • Sólo queda cambiar nuevamente la extensión del archivo ZIP a XLMS.

Abra el archivo VBA Excel. Vaya a la pestaña Desarrollador y haga clic en Visual Basic e intente acceder al menú Proyecto. Debería ver la solicitud de contraseña, y con suerte, la contraseña correcta debería ser la que establecemos en nuestro documento ficticio.

desbloquear vba project excel
Desbloqueando VBA Project de Excel

¡El proyecto VBA ha sido desprotegido! Ahora usted puede continuar con lo que estaba destinado a hacer.

4. Vídeo Demostración

En este vídeo hemos aplicado los pasos anteriormente mencionados. Así es cómo usted puede desbloquear la protección de un Proyecto VBA de Excel.

5. Notas Finales sobre la seguridad del VBA Macros

Este truco puede ser muy útil cuando uno necesita necesita desesperadamente el acceso a una contraseña protegida  en VBA Macro. Sin embargo, también debe ilustrar una falla de seguridad importante que está presente en Excel.

Si está utilizando este tipo de protección por contraseña para defender su código VBA, sepa que hay una solución.

¿Tiene alguna duda sobre el tema de un Proyecto VBA? o, ¿tiene un consejo de seguridad que desea compartir con otros? Agradezco su comentario.

49 comentarios
  1. Hola Alexis.

    Realizo el proceso a detalle pero al abrirlo dice que hay contenido que no se puede leer y que si quiero recuperarlo. Al dar aceptar, me borra los módulos de VBA. Por qué crees que sea?

    Saludos.

    1. Hola Boris,

      Revisa bien los cambios en los valores hexadecimales, si todo está ok y continúa el error entonces no será posible desbloquear la contraseña por diferentes motivos que al modificar el hexadecimal afecta a los módulos :/.

      1. hola… los módulos se pierden porque cuando se bloqueó el proyecto se lo hizo con un software especial y no con el metodo tradicional y manual… con este procedimiento aunque te desbloquea el proyecto no puede recuperarlo porque no se conoce los detalles que usó ese software…

  2. Gran trabajo.

    Y… ¿si lo que queremos es protegernos de esta vulnerabilidad? ¿Cómo lo haríamos? Me dejas en ascuas. La vulnerabilidad de Hojas, Libros y Códigos siempre me preocupó. Hace poco en un Libro con VBA, Libro y Hojas protegidas desbloqueé las hojas corriendo una macro de Clave de Respaldo en paralelo desde otro libro. ¿Qué podemos hacer para protegernos en estos casos?

    Slds!

    1. Hola, de momento protegiendo el libro completo. A pesar de existir software como Password Recovery Bundle para VBA, Hojas entre otras cosas.., (e incluso sin software), una buena contraseña para el documento en general lo podría salvar de cualquier robo de datos. Lo de desbloquear hojas y VBA es posible debido a la visualización del código que lo contiene, en cambio, al colocar contraseña al documento excel no se le puede hacer ingeniería inversa, por lo menos lo desconozco…

      Saludos!

  3. Que tal, buenas noches
    Tengo un archivo .XLS (De una versión 97-2003) y lo que hice fue abrirlo y guardarlo como .xlsm (versión actual). Al cambiarle la extensión .xlsm por .zip, me manda un error de lectura del archivo “El archivo está dañado o un formato desconocido”

    ¿Sabes como solucionarlo?

    Saludos

    1. Hola!

      Cuando cambiaste a la versión actual lograste abrir nuevamente el archivo? (puede verificar si eso da error)

      Otra alternativa es usar el software Password Recovery Bundle, realicé el mismo procedimiento pero automático. Usted solo sube el archivo al software y este le exportará “desbloqueado”.

      Saludos!

  4. Hola como andas Alexis?. Consulta, necesito desbloquear sheets protegidos con contraseña… hay forma? Porque con esto solamente puedo desbloquear los vba. Capaz por el VBA se puede ejecutar algun script para desproteger sheet

    gracias

  5. SI FUNCIONA CON DIFERENTES VERSIONES Y EXTENSIONES, HAY QUE TENER EN CUENTA A LA HORA DE PEGAR HEX QUE NO SE PUEDE CAMBIAR EL TAMAÑO DEL ARCHIVO, ES DECIR HAY QUE PONER “00”… GRAN APORTE ALEXIS, ENHORABUENA!!

    1. Por favor puedes explicar con mayor detalle? creo que ese es mi problema… los ceros donde se colocan? dentro del mismo parámetro? si haces eso no cambia la clave?
      Saludos.

  6. No abre el fichero .xlsm una vez hecho el cambio porque dice que está dañado (primer mensaje para recuperar, doy “Aceptar”, segundo mensaje dice que no se puede abrir.)

    1. Hola! Por favor confirma que tamaño de cambiar los parámetros (CMG=,DPB=,GC=) sea el mismo y sino lo es, completarlo con ceros (0). Una herramienta que hace este procedimiento automático se llama “Password Recovery Bundle”

      Saludos!

  7. Sobre el tema de completar con “00” para que tenga el mismo tamaño…
    Tengo el caso que el código de destino que reemplazaré (a desbloquear) me pasa lo siguiente:

    destino: CMG=(28) DPB=(84) GC=(27)
    de_test: CMG=(32) DPB=(22) GC=(23)

    Para los casos DPB y GC no habria problema en completar antes del cierre de comillas con 62 (84-22) y 4 (27-23) ceros respectivamente, pero en el caso de CMG, como elimino 4 caracteres?

  8. Hola Alexis,, tengo una consulta.
    que pasa cuando el archivo que quiero decifrar la clave solo tiene hasta el CMG=
    DPB= y el resto son puntos y signos sin sentido y no logro ubicar el CG, es mas, no termina bien el DPB con las comillas (“)
    saludos, gracias por el aporte.

  9. HOLA. SEGUI TODOS LOS PASOS. ENCUENTRO ESOS VALORES LOS COPIO AL OTRO LO GUARDO. PERO AL VOLVER A ABRIRLO NO LO GUARDA. A QUE SE DEBE ESO? LE FALTA ALGO AL HxD?

  10. Al abrir el excel que intento desproteger me dice que los macros se han eliminado por estar dañados, es porque reemplacé mal el código?
    Gracias

  11. a mi me sale :
    no se puede abrir el archivo (ruta y nombre del archivo)para acceso de escritura. acceso denegado

    como procedo ahí?

  12. Hola
    Seguí todos los pasos, pero al momento de querer copiar el código hexadecimal y pegarlo al que esta bloqueado no me lo permite, me sale una leyenda de error y me dice que tengo acceso denegado para editar el archivo… que se puede hacer

  13. Alexis, A mi me funciono muy bien, mi duda es ¿como le niciste para encontrar esa bulnerabilidad, que herramientas/procedimientos usas?. Gracias por compartir, tu documento esta muy bueno.

  14. ¿alguien me podria ayudar a quitar la contraseña de un excel? le podria enviar el archivo a su correo y podria pagarles con spotify desbloqueado o canales de paga abiertos, me urge. esperp alguien pueda aydarme

  15. Tengo un excel protegido, no recuerdo la contraseña, la extension es xlsx, al convertirlo a zip y lo abro no me aparece el archivo vbaProject.bin en la carpeta xl, como le hago

  16. excelente solucion, ahora no he podido desbloquear las hojas para poder hacer modificaciones, y ya intente con esa macro que habilita las hojas, alguna idea hermano?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.


Recibe los trucos más ocultos de tecnología 🤫

Aprende trucos como la técnica 'correo+1' para recibir correos en tu misma cuenta principal. ¡Únete ahora y accede a información exclusiva!

¡No hacemos spam! Lee nuestra política de privacidad para obtener más información.


Puede que también te interese