4 formas de proteger el código de VBA (Visual Basic para aplicaciones)
El código VBA que escribes es el corazón y el alma de tu hoja de cálculo. Proteger el código VBA es algo que se debe hacer para asegurarse de que no lo roben o lo usen sin que lo sepas. En esta publicación, se explicarán algunas formas diferentes de proteger tu código VBA para que solo TÚ puedas acceder a él fácilmente.
¿Por qué debería importarle proteger el código VBA?
VBA es un lenguaje de macros que se puede utilizar para crear tareas o acciones automatizadas en Excel, Word y PowerPoint. Existen varias razones por las que debería proteger su código VBA:
- Para proteger su código VBA de cambios accidentales. El código VBA es una herramienta poderosa para los usuarios de Excel, pero también puede ser una fuente de frustración para aquellos que no lo usan. Si no protege el VBA con una contraseña, otras personas que usen su libro de trabajo pueden acceder al código y realizar cambios en él sin saber lo que están haciendo realmente. No conviene depurar el código VBA porque puede ser una tarea ardua: puede llevar horas averiguar por qué y, luego, ¡incluso más tiempo!
- Para proteger su propiedad intelectual, el código VBA puede ser muy valioso para algunas empresas. Si alguien accede a su hoja de cálculo y copia la funcionalidad que usted utiliza, podría hacerla pasar como su propio trabajo y venderla a muchas empresas. Proteja su valioso código fuente con medidas de seguridad. No permita que nadie lo robe o copie con facilidad.
- Para protegerse de que otras personas utilicen su trabajo. Si tiene un fragmento valioso de código VBA que facilita o hace más eficiente su trabajo, es posible que desee protegerlo solo para uso personal.
Es importante tener en cuenta que existen varias formas diferentes de proteger el código VBA, pero no todas lo hacen de la misma manera. Depende de usted y de lo que crea que es mejor para sus necesidades.
#1 Proteger con contraseña el código VBA en Excel usando la herramienta VBAProject
Esta parte explica cómo puede utilizar la configuración de protección del proyecto VBA para proteger su código VBA de miradas indiscretas y manos manipuladoras en algún nivel.
- Nivel de seguridad: Débil; Existen herramientas como Eliminador de contraseñas VBA que puede utilizarse para desbloquear la contraseña en minutos;
- Dificultad: Fácil;
- Costo: Gratis;
Paso 1. Seleccione “Visual Basic” en el menú “Desarrollador” en Excel.
Paso 2. Para bloquear su proyecto VBA, haga clic en “Herramientas” en la barra y luego seleccione “Propiedades del proyecto VBA”.
Después de hacer clic en este elemento del menú, debería ver el siguiente cuadro de diálogo:
La pestaña “General” está seleccionada de forma predeterminada, pero haga clic en la pestaña “Protección”.
Paso 3. Marque “Bloquear proyecto para visualización” y luego escriba su contraseña dos veces en ambos cuadros y presione “Aceptar”.
Paso 4. Guárdelo y vuelva a abrir el archivo de Excel. Podrá saber si la protección con contraseña de VBA se habilitó correctamente haciendo doble clic en su proyecto de VBA. Cuando protege su proyecto de VBA con una contraseña, evitará que alguien lo modifique accidentalmente.
#2 Use la ofuscación de VBA para proteger el código de su macro
La ofuscación de VBA es el arte de hacer que el código VBA sea ilegible pero que siga funcionando. Modifica las macros existentes con múltiples niveles de ofuscación, lo que dificulta la comprensión de la lógica subyacente. Los ofuscadores de VBA avanzados utilizan una serie de técnicas de ofuscación avanzadas, lo que hace que el rastreo y la recuperación inversos sean considerablemente más complicados.
- Nivel de seguridad: Medio; Alguien aún podrá tomarse el tiempo y gastar suficientes recursos para recuperar el código;
- Dificultad: Moderada; Depende del nivel;
- Costo: Ofuscador VBA gratuito /De primera calidad;
Puede utilizar la ofuscación de VBA junto con la técnica n.° 1, que consiste en ocultar primero y luego proteger el módulo con una contraseña. Tenga en cuenta que la ofuscación es irreversible, por lo que debe realizar una copia de seguridad del archivo de origen antes de continuar. Recuerde también que no se puede garantizar que el código ofuscado se ejecute sin errores. Pruébelo exhaustivamente antes de publicarlo. Utilice una sola parte del proyecto para ofuscar. Una vez que la primera prueba de ofuscación del módulo sea exitosa, pase a la segunda.
#3 Convertir código VBA a biblioteca de vínculos dinámicos (DLL)
Los compiladores como Visual C++ y Visual Basic producen aplicaciones que son difíciles de descifrar. Esto se debe a que el código se compila en archivos ejecutables o archivos de biblioteca de vínculos dinámicos. Por lo tanto, también podemos compilar el código VBA en un archivo de biblioteca de vínculos dinámicos y luego usarlo en Excel.
- Nivel de seguridad: Alto;
- Dificultad: Moderada;
- Costo: Gratis;
Este método de protección es muy recomendable, pero no está 100 % garantizado. Para aprender a compilar, consulte las instrucciones en VbaCompiler.com: 10 pasos para compilar código VBA en una DLL nativa de Windows .
#4 Convertir VBA a C o C++
Traducir las macros a C o C++ es más difícil que hacerlo con VBA. Si quieres proteger tu código, esta es la mejor manera.
- Nivel de seguridad: más alto; es casi imposible obtener el código sin los derechos; pero, de nuevo, no está 100% garantizado;
- Dificultad: Complicado y requiere mucho tiempo; debido a que VBA y C/C++ son lenguajes tan diferentes, es más difícil ya que tendrás que invertir mucho esfuerzo.
Conclusión
El uso de macros es una excelente manera de optimizar el desarrollo de funciones avanzadas. Lamentablemente, esto pone en riesgo su código de ser robado o copiado por otros. En este artículo se describen los métodos que puede utilizar para evitar que otros usuarios roben o manipulen su código VBA. Tenga en cuenta que las protecciones del código VBA no son una seguridad infalible, pero sí brindan cierta protección contra atacantes ocasionales.