Pregunta complicada sobre Seguridad

Estoy interesado en saber como puedo proteger las imágenes que utilizo en director para que no me la puedan copiar o utilizar para otra cosa, y también estoy interesado en conocer que mecanismos de seguridad o de encriptación de imágenes tienes director o si hay alguna forma de hacerlo. Gracias por todo.
1

1 Respuesta

6.700 pts.
Si hay algo que he aprendido es que nada es seguro. Es decir, si alguien quiere copiar una imagen de una aplicación de Director, o de Flash o de cualquier cosa, lo hace
Que yo sepa la seguridad que puede ofrecer Director no es más que la intrínseca de cualquier programa compilado, y es que solo los entiende la máquina ;-) Por ejemplo, para cuestiones de claves y todo eso, basta con programarlo directamente en Director, ya que una vez compilada la aplicación no hay casi forma de saberlo. Y digo casi porque viene alguien, desensambla el ejecutable, busca la comprobación de la contraseña, la obtiene y ya está. Se pueden imaginar algoritmos más o menos complejos dónde se generen claves cambiantes dependiendo de un montón de parámetros personales de cada ordenador para proteger los programas, pero nada es infalible. Con el suficiente tiempo y dedicación se descubre todo.
Por más que te afanes programando algo para evitar que alguien copie alguna imagen, es inútil. Como mucho puedes capturar todos los eventos de ratón y teclado para obligar al usuario a hacer solo lo que quieres que haga. Se usa mucho en webs dónde el botón derecho del ratón se captura para que cada vez que alguien lo pulsa (entre otras cosas para eso de "Guardar imagen..." o "Copiar acceso directo") no le permita hacer nada, o aparezca un mensaje que diga algo al respecto. Incluso puedes deshabilitar el volcado en memoria (portafolios de Windows), pero basta algún programilla de captura de pantalla para obtener una imagen de lo que se está viendo en pantalla con la misma calidad que el original.
Hay unas cuantas compañías trabajando en sistemas de registro de imágenes para proteger los derechos de autor y copyright (las conocidas marcas de agua), pero después de todo este tiempo no se ha obtenido nada. Es más, hace no muchos meses una empresa lanzó las campanas al vuelo anunciando su sistema "definitivo", solo para ver que a los pocos meses un joven, creo que español, había roto la potección.
En resumen, si quieres que no copien alguna imagen, no la muestres. ;-)
A disfrutar.
Gracias por la respuesta, tengo muy claro que todo lo que este en digital se puede copiar, pero en mi caso me gustaría poner las imágenes encriptadas en un cd con el programa hecho en director y que cuando sean necesarias desencriptarlas con un algoritmo aunque sea débil y fácil de violar, lo que busco es complicarle el trabajo a la persona que intente copiar la imagen y no impedirlo para siempre. Por lo cual pienso que debe existir una forma de programar una función en director que me permita realizar esto. Gracias de nuevo y espero sus respuestas.
Creo que, al fin y al cabo, por mucho que encriptes y luego desencriptes las imágenes, vas a acabar mostrándolas por pantalla, ¿no? Pues lo mismo de antes.
Si, a pesar de esto, lo único que buscas es evitar la copia DIRECTA del ORIGINAL (que busquen y copien el fichero que contiene la imagen), es seguro que guardando todas las imágenes en un cast interno de la aplicación a compilar casi nadie te la vaya a encontrar, ya que necesitas desensamblar el código y tener un mínimo (o un poco más) de idea del algoritmo de guardado del formato JPEG o GIF (dependiendo el que utilices) para buscar la cabecera y final de la imagen dentro de todo el código de ensamblador.
Si, por cualquier otro motivo, tu aplicación solo enlaza las imágenes (que quedan fuera en algún sitio de CD en lugar de en algún fichero de almacenamiento o en la aplicación principal) tendrías que "inventarte" un formato, osea, buscarte o inventarte un algoritmo para, como dices, encriptar y desencriptar los ficheros que contienen las imágenes.
Programar esto es relativamente sencillo: los algoritmos tradicionales están formados por un función directa (encriptar imagen) y otra inversa (desencriptar).
La función directa es aquella dónde lees el firchero (la imagen), aplicas tu algoritmo y obtienes un nuevo fichero. Obviamente esta función no hace falta programarla en Director. Te basta con hacer un programilla con cualquier lenguaje de programación que "encripte" las imágenes. Por ejemplo: abres el fichero .jpg que quieras en modo hexadecimal, vas leyendo carácter a carácter y a cada uno le sumas una cantidad fija (este es el algoritmo, así que a inventar se ha dicho). Al final tendrás un fichero del mismo tamaño con todos sus caracteres "desplazados".
La función inversa, necesariamente tiene que estar implementada en Director, hace casi lo mismo, abrir el fichero, leer carácter a carácter e ir deshaciendo el cambio.
Al final puede que no te merezca la pena porque:
1.- Puede que con Lingo no puedas acceder a un fichero a tan bajo nivel.
2.- Tu "aumento de seguridad" se traduce en un "aumento de acceso a la información" ya que no es lo mismo acceder/mostrar una imagen, que acceder/decodificar/mostrar una imagen. Todo depende del algoritmo.
3.- Si no tienes cuidado puede que los ficheros codificados ocupen más espacio que los originales, o según los mejores algoritmos, menos (también depende del algoritmo).
4.- Para decodificar los ficheros tendrás que hacer uso de temporales en el disco duro (ya que no sabes a ciencia cierta si el usuario tendrá suficiente memoria para cargarlo todo), por lo que las imágenes vuelven a quedar al descubierto.
Todo esto de la encriptación de datos está ya muy avanzado. El sistema este de dos funciones ya está algo desfasado en aplicaciones de alto nivel, pero es lo tradicional y lo más fácil de hacer.
Espero haberte aclarado más el tema, aunque haya echado la parrafada.
A disfrutar.
Gracias por la respuesta es más o menos lo que estaba pensando pero quería ver si tenias algún otro punto de vista interesante. Gracias por todo fuiste de mucha ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas