Home > Foro de Excel >

Debates de Excel

> Seguridad en excel, segunda parte, fase 1
Foro de Excel
Foro de Excel
2 Cursos online | 21812 Debates | 4168 Documentos | 18 Vídeos | 2 Test | 2 Blogs | 708 Imágenes | 34621 Miembros

seguridad en excel, segunda parte, fase 1

Héctor Miguel
Jalisco, México
Escrito por Héctor Miguel Orozco Díaz el 24/07/2010

Hola, a todos!

he subido otro documento como parte de un proyecto relativo a la seguridad y proteccion intelectual en excel:

http://grupos.emagister.com/documento/concatenar_rangos_con_base_en_una_condicion/6610-525488

esta es la segunda parte de la fase 1, un complemento (addin) con la combinacion de unos pocos trucos diferentes

el objetivo es el mismo: conocer cuantos logran acceso a los codigos y que compartan como y con que lo hicieron (?)

igual me equivoco, pero estimo que aquellos que lo logren habran requerido herramientas externas (quiza "de paga"?)

por lo demas, el archivo adjunto incluye un documento (*. TXT) explicando el uso de una funcion personalizada y sus argumentos
(y espero que hayan disfrutado las funciones del ejemplo en el anterior archivo de la primera parte de este proyecto?)

saludos,
hector.

p.d.:
quisiera pedirles a todos que NO den por "cerrado" este tema antes de transcurridas (cuando menos) dos o tres semanas
esta intencion se encamina a conseguir la opinion de aquellos que no estan incluidos en la categoria de "expertos" (los mas)
ya que otro objetivo (personal) es abundar en mi "aggiornamento" con las opiniones del universo posible de usuarios, GRACIAS!

compartir


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 24/07/2010

Hola Hector Miguel. Interesante el uso de las macros 4. 0 para de ese modo forzar que si se muestra una hoja y/o se activa la hoja "App.Path.EXCEL. EXE" se fuerce el cierre/eliminación del archivo.

Si a través de macros, colocamos su propiedad “IsAddin” en False, luego muestras la hoja de macros mencionada lineas arriba (Sheets(2). Visible = True) y también la activas de ese modo (Sheets(2). Activate), evitas las funciones que detectan la activación de dichas hojas, luego le damos color a la fuente y vemos esto:

Nombres

Funciones

Comentarios

Macros SIN Nombre

Funciones

Comentarios

Auto_open

TRUE

suprime los mensajes de error

FALSE

inhibe la actualizacion de pantalla

R53C11

TRUE

reacciona si se muestra y activa la unica hoja de calculo

esta aplicacion tiene derechos de autor reservados (continua…)

FALSE

activa la ventana del libro (solo por si las dudas)

R59C11

TRUE

reacciona si se modifican datos en la unica hoja de calculo

NO debiste mostrar la ventana de este libro!

FALSE

R65C11

TRUE

reacciona si se muestra y activa la hoja de macros

TRUE

TRUE

TRUE

establece como verdadero que "el sistema se ha inicializado"

TRUE

TRUE

fin del procedimiento

FALSE

comprueba si la hoja esta protegida

Auto_close

TRUE

por que eliminaste la proteccion de esta hoja?

TRUE

muestra un mensaje personalizado

TRUE

cancelacion de las macros "ON. (…)"

TRUE

hace un salto al "aviso final"

TRUE

TRUE

SOLO si la hoja ha sido desprotegida

TRUE

TRUE

TRUE

TRUE

(definitivamente)… NO debiste activar esta hoja!

FALSE

TRUE

CONCATENAR. SI

FALSE

criterios es un nombre nativo reservado en excel, se cambia por "variables"

TRUE

TRUE

la condicion con la que se comparan las variables

TRUE

la matriz de datos a concatenar si cumplen la condicion

quedan unos instantes para que empiece a BORRAR TU DISCO DURO!

FALSE

inhibe la cancelacion de la ejecucion de la macro

TRUE

los argumentos opcionales haran referencia a celdas en la hoja de macros

con cual boton crees que se iniciara el proceso de borrado (tic, tac, tic,...)?

TRUE

muestra la "advertencia final"

TRUE

… despues de puede hacer referencia a "su" celda y/o a su nombre

en realidad, hubiera procedido con cualquier boton o tecla, pero…

TRUE

y deja que "descanse el alma" del INFRACTOR :))

TRUE

te habria gustado "pagar esta factura" POR TU PIRATERIA? <\°|°/>

FALSE

de todas formas elimina el archvo

TRUE

tipo de datos que se espera devuelva la funcion (2 = texto / string)

FALSE

y lo cierra sin guardar cambios

TRUE

si el usuario "omite" algun argumento opcional…

FALSE

TRUE

… habra que "reponer" el valor omitido a su valor "por omision"

TRUE

TRUE

por lo demas, no es necesaria una declaracion de variables…

TRUE

… sus equivalentes seran depositados en celdas por funciones "normales"

TRUE

… ver celdas A43 (coincide), A48 (concatenar) y A49 (cadena)

TRUE

TRUE

TRUE

TRUE

esta es la "inicializacion" de una variable string (p.e. ): cadena = ""

TRUE

esta es una forma de "inicializar" variables-contador

TRUE

el bucle 'For … Next' es +/- lo mismo (lineas de mas o lineas de menos) :))

TRUE

TRUE

FALSE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

TRUE

este es el equivalente de asignar al resultado de la funcion una variable de cadena



Para poder ver si había “algo” mas en los módulos de VBA, dado que el libro esta compartido con contraseña, con un algoritmo que use esto:

ActiveWorkbook. UnprotectSharing Contraseña ‘contraseña es la variable

Logramos quitar la protección de libro y podemos ver sus módulos, habiendo en el modulo del libro esto:


Private Sub Workbook_BeforeClose(Cancel As Boolean): Me. Saved = True: Me. Close False: End Sub

Bueno, eso es todo, y no fue necesario usar un programa externo. Y no te preocupes, no cerraremos el debate. Saludos


Abraham


Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez el 24/07/2010

Para los amigos del Foro que quieran rememorar y/o conocer ( ¿Según la edad? ) el uso de las macrofunciones del Excel 4. 0, pueden colocar en un módulo común lo siguiente:
___________________

Sub MostrarContenidoXLA()
Const misterio As String = "UNECONDI. Xla"
Workbooks. Open Application. GetOpenFilename(Title:="Seleccione el libro " & misterio)

With Workbooks(misterio)
. IsAddin = False

For Each mySh In. Sheets
If mySh. Type = xlExcel4IntlMacroSheet Then mySh. Visible = xlSheetVisible: mySh. Activate
Next mySh
End With

With Cells
. Font. ColorIndex = 1
ActiveWindow. DisplayFormulas = True
. ColumnWidth = 1
. EntireColumn. AutoFit
ActiveWindow. ScrollRow = 51
ActiveWindow. ScrollColumn = 6
End With

End Sub

___________________

Saludos, Cacho.


P.D.
Me consultan (pues es cierto) lo siguiente: El Foro ha introducido un innecesario espacio entre el "punto y la "X" en:

Const misterio As String = "UNECONDI. Xla"

Hay que quitarlo...


Escrito por Héctor Miguel Orozco Díaz el 24/07/2010

Hola, a todos!

agradezco la rapida colaboracion (como es su costumbre) y estoy seguro de que quienes siguen estos debates podran ver desde otra perspectiva a las macros del (viejo? ) excel v-4, ya sea de poca o mayor edad, estimo que algunos no las "atesoran" en su "acervo", otros ya habran detectado (des)ventajas (algunas comentadas por Abraham), incluso habra quienes visualicen opciones o alternativas para reducir (o eliminar) las "desventajas"

Abraham: al publicar tus comentarios "finales" luego de tu analisis, quiero suponer que algnos puntos (o pasos) no los describes en tu mensaje, y me gustaria solicitar (de tu amabilidad) si comentas que mecanismos, medios, algoritmos, (... ) utilizaste para determinar la "contraseña" de aplicacion al metodo "unprotectsharing" (?)

gracias y saludos,
hector.


Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez el 24/07/2010

Hola! Héctor
A propósito de la posdata incluída en tu mensaje de apertura, me parece más que interesante poner en tu conocimiento parte de la política de emagister sobre el particular:
_________________________

QUIENES PUEDEN CERRAR LOS DEBATES

Los debates pueden y deben ser cerrados una vez hayan cumplido su cometido. El primer llamado a cerrar un debate es del autor del mismo. En segundo lugar están los moderadores del Equipo de Grupos quienes ayudan a tener en orden las aportaciones de cada usuario.


---> Todo sobre debates
_________________________

Por su parte y en respuesta a la pregunta: ¿Cuándo cerrar un debate? , destaco lo siguiente:
_________________________

¿Cuándo cerrar un debate?

- Cuando ha sido respondida la pregunta que se formuló en él.
- Cuando lleva mucho tiempo inactivo y sin participación.
- Cuando el dueño quiere cerrarlo porque ya no le ve sentido al tema.

---> Cerrar debates

_________________________

Por ello, y tal como lo expresara Abraham: ¡Quédate tranquilo! Pues tu pedido no constituye excepción alguna a lo normal y habitual.

Espero te haya sido de utilidad.
Saludos, Cacho.


Armando Montes
Foro excel emagister
Escrito por Armando Montes el 25/07/2010

Dada su importancia, sugiero destacar el mensaje.


Escrito por Héctor Miguel Orozco Díaz el 25/07/2010

Hola, Cacho y Armando!

Cacho: entiendo de las politicas de cierre de los debates en el foro, y precisamente, como la "peticion basica" (desproteger y comentar los como) puede darse por "respondida", la pos-data fue solo para remarcar la peticion "no implicita" de conocer la opinion de otros participantes (que no hice en el primer mensaje de este proyecto)

Armando: sinceramente creo que este proyecto no merece ser considerado como "debate destacado" (como para verlo "al tope" por un in/determinado tiempo? ), y agradezco tu sugerencia al administrador :)

saludos (y gracias nuevamente),
hector.


Cacho Rodríguez
Ingeniería electrónica universidad nac...
Escrito por Cacho Rodríguez el 25/07/2010

Comparto -por cierto- el criterio de Armando: este debate -al comienzo de la semana próxima- estará ubicado en la segunda página del Foro.

Dicho de otro modo: pasará al olvido si no lo "movemos" los -hasta aquí- participantes.

El destacarlo es una forma de que más gente pueda tenerlo presente, hasta que la sensatez indique cerrarlo.
Saludos, Cacho.


Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia el 25/07/2010

Hola Nuevamente.

Hector Miguel, el codigo que use para desproteger la contraseña del libro compartido, fue uno de los "comunes" para desproteger hoja, y simplemente cambie la linea de desproteccion:

Sub Descubrir_contraseña()
Dim a As Integer, b As Integer, c As Integer
Dim d As Integer, e As Integer, f As Integer
Dim a1 As Integer, a2 As Integer, a3 As Integer
Dim a4 As Integer, a5 As Integer, a6 As Integer
On Error Resume Next
For a = 65 To 66: For b = 65 To 66: For c = 65 To 66
For d = 65 To 66: For e = 65 To 66: For a1 = 65 To 66
For a2 = 65 To 66: For a3 = 65 To 66: For a4 = 65 To 66
For a5 = 65 To 66: For a6 = 65 To 66: For f = 32 To 126
Contraseña = Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(a1) _
& Chr(a2) & Chr(a3) & Chr(a4) & Chr(a5) & Chr(a6) & Chr(f)
ActiveWorkbook. UnprotectSharing Contraseña
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub

Se puede mejorar, pero, no era mi intencion en ese momento. Este creo que era de mi amigo 3pies.

Ah, olvide darte las gracias por el aporte de la funcion

Abraham


Armando Montes
Foro excel emagister
Escrito por Armando Montes el 30/07/2010

Aqui hay una discusion similar a este tema:
Http://www.ozgrid.com/forum/showthread. Php? T=144767


Escrito por Héctor Miguel Orozco Díaz el 30/07/2010

Hola, Armando!

gracias por la discusion apuntada, la verdad es que siempre he tenido "claro" que excel es sumamente "amigable" (demasiado? ) de cara al usuario final, razon por la que no es tan sencillo dotarlo de un sistema de proteccion "robusto" (mucho menos "infalible"), por lo mismo he comentado siempre que lo mas que podemos lograr es combinar trucos para "desesperanzar" al usuario "promedio" (y a uno que otro medio-avanzado-despistado), que es lo que busco actualizar de un proyecto anterior

conforme con el apunte de Cacho, supongo que la sensatez indica que no habra participacion de otros usuarios, por lo que paso a "darme el gusto" de dar por cerrado el tema :)

solo comentar acerca del algoritmo utilizado por Abraham, que no se si 3pies se atribuya la autoria del codigo, hasta donde se, es de "autor desconocido", aun asi...
el primero al que se le atribuye es a Bob McCormick (2001) segun este post: http://tinyurl. Com/28omvqy

bueno, procedo con la parte 3 de esta fase 1 (los mantendre informados)
gracias de nuevo y saludos,
hector.


 
Páginas internacionales: España  |  Italia  |  Francia  |  México  |  Alemania  |  Reino Unido  |  Argentina  |  Chile  |  Colombia  |  USA |  India |  Y próximamente: Brasil | 

Búsquedas frecuentes: ejercicios de topografia como quitar una cicatriz diagrama de mollier calculo de dosis pinzamiento espalda

Emagister cumple la Ley Orgánica 15/1999 de 13 de diciembre, de Protección de datos de Carácter Personal, y posee el código de inscripción nº 2002010053 del Registro General de la Agencia de Protección de Datos. Copyright © 1999/2000 - Grupo Intercom - Todos los derechos