Bienvenido a la mayor comunidad de usuarios EXCEL

Regístrate ahora y podrás: / 💪 Hacer preguntas a los expertos / ⬇️ Descargar ejemplos y plantillas / 🏅 Acceder a contenidos premium

Regístrate gratis

Mejorar protección macros

Straycat

New member
En los archivos con macros XLSM , existe un método mediante WINRAR para acceder al interior del VBAProject sin tener las contraseñas.
He observado que si el fichero esta guardado como XLS versión 2003 ya no se puede usar este método, o al menos yo no lo he conseguido, y a priori seria una mejora de protección.
Alguien recomienda algún método para tener la información del VBAProject más protegida?

Muchas gracias,
 

Héctor Miguel

Well-known member
Alguien recomienda algún método para tener la información del VBAProject más protegida?
si cuentas con la version 5.0 (xl/95) sus macros NO se ven en el editor de vba (con los peros del caso por la version antigua), por otro lado...

disculparás el siguiente "rollo"... supongo que los usuarios de tu modelo no tardaran en "encontrar" alguno de los (muchos) lugares donde se "brindan" formas de "romper" la seguridad de excel y vba

para no entrar en "apuntes" a cada comentario en respuesta, solo te diré (por el momento) lo siguiente:

como suelo decir hablando de "seguridad/proteccion", excel, vba, aplicaciones dirigidas al uso de terceros, etc.

si ya estás enterado de las prácticas habituales y te sigues basando en excel y programación en vba te convendría mantener en mente algunas otras cosillas como...
- si alguien esta decidido (y cuenta con los recursos y habilidades) podra ganar acceso a tus códigos (por que ?)...
- excel y vba son aplicaciones front-end (para el usuario final) y sumamente... amigables (en ocasiones en exceso)
- podrías llegar a desarrollar/combinar/... una serie de trucos para (cuando mucho/menos/...) hacerles la vida cansada

NO es mi intención parecer un aguafiestas y considerando otros comentarios expuestos en consultas anteriores similares a esta...analiza los siguientes puntos y... si cualquier duda (o información adicional)... comentas ?

1) (yo creo que) cuando hablamos de algún sistema de protección (y MAS si pretendes que sea... infalible ?)
(ya irás viendo que...) se encuentran por el camino mas imponderables que los intentos de prevenirlos

2) partiendo de que (en excel) la seguridad parece NO ser (hasta ahora) una prioridad "que limite"... solo nos queda...
- buscar formas alternas o desarrollar nuestras propias aplicaciones
-> en lenguajes primarios de programación (como C, VB-Stand-alone, Delphi, etc.)
-> reza un dicho: => para uno que madruga... otro que no duerme <= es decir, que siempre habrá alguien ...
- - (para mal)... tratando de tomar prestada... la tecnología de los demás
- - (para bien)... tratando de hacerles la labor... -cada vez más- difícil

3) toma en consideración que una de las tareas mas "quema-neuronas" en cuestiones de programación es AED:
> "Anticipar" (en la medida de lo posible) las acciones del usuario para poder...
> "Evaluar" las consecuencias de ejecutar (o no) un código y finalmente...
> "Diseñar" prevenciones o correcciones de errores "involuntarios" (o premeditados?).

4) (definitivamente)... es imperante que estés en condiciones de ANTICIPAR lo que se le pueda ocurrir al usuario
debes considerar el nivel de conocimientos (y la disponibilidad de recursos) de a quienes está dirigida tu aplicación
(además) siendo excel/vba una herramienta sumamente (en ocasiones, demasiado ?) "amigable"...
-> tendrías que considerar más seriamente las alternativas del punto 2 (lenguajes primarios de programación)

5) la pregunta en este caso particular (si es tu intención distribuir tu aplicación a varias personas)... ES:
-> que porcentaje de tus clientes (o prospectos, asociados, compañeros)...
- - merece... TU DESCONFIANZA ?
- - cuenta... con los conocimientos, habilidades, recursos Y LA INTENCION para "jugarte chueco" ?

6) si el grueso de tus clientes/prospectos/... anda por el nivel estándar, general (y quizás hasta medio-avanzado)...
- podrías considerar el uso combinado de técnicas y trucos diversos para desesperanzar a usuarios normales

creo que el verdadero conflicto sería si tu libro se abre SIN permiso de usar las macros (políticas o decisión del usuario)
o si al momento de abrir Y autorizar, se mantiene pulsada la tecla {shift} para inhibir el evento '_open' del libro -?-
(entonces, sería necesario "pasar al siguiente nivel")
 

Leopoldo Blancas

Well-known member
Aparte de lo que dijo Héctor Miguel es que sólo te podrás defender de los que no saben VBA, ya que los que saben no tendrán problemas de tomar tu código "prestado" de una u otra forma; de los que solo copian y pegan una forma de defender tu código es que tu forma de programar sea avanzada, ya que de esta forma les será más difícil entender y adaptar. Y en la medida de lo posible es mejor hacerlo en otro lenguaje como indica Héctor Miguel.
 

Straycat

New member
Gracias Hector. El fichero va destinado a usuarios que precisan información en un formato excel al ser muy popular, y esto me limita. Cuando el usuario abre el fichero accede a una hoja y el resto estan desactivadas a menos que acepte uso de macros. La segunda vez ya va directo a la información. Mediante macros solo permite abrir si el fichero no esté el modo lectura. No permite hacer guardar como. No permite imprimir. Al pasarlo a XLS, de momento no puedo acceder mediante Winrar, y de momento me siento más seguro. Puedo programar con otro lenguaje y usarlo en Excel? Como podria aprender?
 

Héctor Miguel

Well-known member
Al pasarlo a XLS, de momento no puedo acceder mediante Winrar, y de momento me siento más seguro. Puedo programar con otro lenguaje y usarlo en Excel? Como podria aprender?
la realidad es que con el formato *.xls (xl-97/2003) es aun mas sencillo de sortear la proteccion en vba

si lo que estas programando va a terminar siendo un archivo "de excxel" ?... volvemos al punto de partida, no hay forma de proteger "a prueba de balas"

con respecto de los lenguajes primarios, la idea es desarrollar "aplicaciones" que se comporten "como excel" (SIN ser archivos "de excel", se entiende ?)

recuerdo una llamada "FileMaker" con funciones similares al vba de excel, incluso compatible con mac (habria que buscar si continua en el mercado ?)
 

pedro4550

Member
A excel es imposible protegerlo, asi se trate de usuarios noveles. Basta que le digan como las alternativas a office burlan (o se burlan) la seguridad del excel y allí termina todo.

Pero lo increíble, es que Microsoft parece no interesarle el tema. ¿Por cuantas versiones no habrá pasado el office (que para mi sigue siendo lo mejor en ofimática) y la poca seguridad sigue estando presente?
 

aneramirezmo

New member
me interesa el tema de la seguridad en vba, les parece si dedicamos algo de tiempo de claidad a esto? yo podría poner a prueba las técnicas que uso con ustedes?, es sencillo yo subo un archivo y alguien tratara de obtener el código en el, de lograrlo publica como lo ha hecho, luego modificaré el método y se hará nuevamente el proceso hasta estar a gusto.
creo que si se resuelve la parte de hecho de poder ver el código(si, así es, alguien "humano" debe ver el código para poder usarlo) lo de restringir el uso, activaciones etc estará resuelto, optaré por métodos no reversibles para así ser más robusto.
 

Héctor Miguel

Well-known member
podría poner a prueba las técnicas que uso con ustedes?
haz tu primer "disparo", solo un comentario con respecto a...
subo un archivo y alguien tratara de obtener el código en el, de lograrlo publica como lo ha hecho
si se publica el metodo con el que "alguien" obtuvo acceso a un archivo "protegido"...
- no le estas "dando armas" a los que pretendes "mantener alejados" de la proteccion intelectual ?
- te bastaria con saber que "se ha burlado" la proteccion (y te las averiguas para agregar formas adicionales) ?
 

aneramirezmo

New member
haz tu primer "disparo", solo un comentario con respecto a...

si se publica el metodo con el que "alguien" obtuvo acceso a un archivo "protegido"...
- no le estas "dando armas" a los que pretendes "mantener alejados" de la proteccion intelectual ?
- te bastaria con saber que "se ha burlado" la proteccion (y te las averiguas para agregar formas adicionales) ?
la idea es garantizar un nivel de seguridad para la personas que desarrollamos en vba, ¿por qué no publico el metodo que uso ? pues primero es verificar que tan infalible es para asi depurar y compartir al final un método que pueda considerarse "efectivo", por ello mencioné el uso procedimientos irreversibles y si es así pues da igual el hecho que publique el método si ni siquiera por sí mismo podrás revertirlo, de hecho estoy terminando de arreglar varios archivos a ver que tal va la cosa
 

aneramirezmo

New member
para el caso es lo mismo...
- tu adjunta un modelo protegido (aplicando la irreversibilidad que prefieras)
- NO publiques como hiciste la proteccion

pero tampoco esperes que quien deshaga lo que hiciste, publique el como lo hizo (hara-kiri ?)
jajaja entiendo por donde iba el comentario, puedo ser laxo con eso, pero la intención de mi parte no era más que tratar de corregir la vulnerabilidad, pues de resto es claro que quien lo haga solo bata con exponer el codigo que estaba "protegido"
 

Temas similares

Arriba