Teorizando sobre las contraseñas de protección

16/04/2006 - 03:21 por Javi | Informe spam
Buenas.

He hecho ya varias preguntas acerca de este tema, y gracias a vuestra
ayuda tengo un sistema "anti-crackeo" bastante interesante, aunque por lo
visto no infalible según comentarios vuestros.

Dándoles vueltas al tema, me surgen 3 cuestiones:

1. Si el método para echar abajo una contraseña de libro es
estrablecerla a "", usease: ActiveWorkbook.Protect "" con sus respectivas
combinaciones de true y false, no bastaría con reestablecer la contraseña al
iniciar el workbook_open?. (Por cierto, para establecer la contraseña al
libro mediante código, le he puesto este código: ActiveWorkbook.Protect
"Contraseña", True, True ; pero me da error 91, Variable de objeto o bloque
With no establecido).

2. Cómo se puede anular el acceso, no al proyecto, sino en la propia
barra de herramientas, al Editor de Visual Basic?, y también inhabilitar el
acceso mediante teclado con Alt+F11. Es Application.Onkey... ?

3. Por último (para no aburriros), no llego a entender cómo se puede
abrir desde el "exterior" el código de un excel. En html, por ej., hay un
código para que la gente no pueda por medio de frames, encajar tu página
dentro de su página web. Y entiendo que debería haber alguna forma para
bloquear ese acceso no autorizado, aparte de la contraseña.

Muchas gracias por las molestias y por toda la ayuda que me habeis prestado.

Javi
 

Leer las respuestas

#1 Héctor Miguel
16/04/2006 - 05:40 | Informe spam
hola, Javi !

1. Si el metodo para echar abajo una contrase#a de libro es estrablecerla a ""
usease: ActiveWorkbook.Protect "" con sus respectivas combinaciones de true y false
no bastaria con reestablecer la contrase#a al iniciar el workbook_open?.

(Por cierto, para establecer la contrase#a al libro mediante codigo, le he puesto
ActiveWorkbook.Protect "Contrase#a", True, True ; pero me da error 91
Variable de objeto o bloque With no establecido).

2. Como se puede anular el acceso, no al proyecto, sino en la propia barra de herramientas, al Editor de Visual Basic?
y tambien inhabilitar el acceso mediante teclado con Alt+F11. es Application.Onkey... ?

3. ... no llego a entender como se puede abrir desde el "exterior" el codigo de un excel.
En html, por ej., hay un codigo para que la gente no pueda por medio de frames, encajar tu pagina dentro de su pagina web.
Y entiendo que deberia haber alguna forma para bloquear ese acceso no autorizado, aparte de la contrase#a.



los siguientes comentarios son [solo] hasta donde se... :D

1) establecer la clave de un libro y hoja en una cadena vacia -> "" NO 'funciona' si el libro es abierto en la version 2002 en adelante :-(
[aunque] si lo creaste con la version 2002/2003... SI 'funconara' si se abre con la version 2000 o '97 ;)

2) NO 'basta' con 'reponer' la clave en el '_open' del libro [ademas de que es lo mismo a que YA la tiene establecida al abrirlo]...
la 'desproteccion' [por lo general] la hacen DESPUES de abierto :-((
o sea, tendrias que estarla 'monitoreando' con algun evento 'OnTime' [con sus consabidas contra-indicaciones] ;)

3) el 'problema' con el error 91, es probable que no lo este provocando la linea que expones -?-
[generalmente] tiene que ver con variables de objeto NO establecidas o instrucciones With...End With 'mezcladas' con GoTo -?-
o... librerias 'perdidas' o corruptas en [menu] herramientas / referencias... -> en el editor de vba -?-

4) para 'anular' el acceso al proyecto de macros por menus y/o botones de comandos [en alguna barra de menus y herramientas]...
[menus y herramientas] -> haz un bucle que 'busque' e inhabilite un control de boton con la ID 1695
[por atajos de teclado] -> efectivamente, puedes inhabilitar la combinacion de teclado {Alt}+{F11} con un Application.OnKey ;)
SOLO... no pierdas de vista que se puede lograr el acceso al editor de vba [p.e.]...
-> click-secundario sobre la etiqueta de una hoja y seleccionando la opcion de: -> ver codigo [aparte de 'algunas' mas opciones] :D

5) considerando que los lenguajes para HTML y VBA NO son 'lo mismo'... y en tanto NO sea excel una aplicacion 'activa'...
-> no veo forma de que se pueda 'abrir desde el exterior' un codigo de su proyecto de macros :-(

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares