FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Programa Criptografico
Después de que diniremix publicara su programa para ocultar información en diferentes archivos gráficos, volvió a resurgir mi interés por la esteganografia y mas concretamente por como ocultar información dentro de un archivo jpeg.
Debido al método de compresión de las imágenes jpeg resulta muy difícil, sino imposible, ocultar información dentro de la propia imagen sin correr el riesgo de que la información se pierda durante este proceso. Así que me centre mas en el formato del propio archivo jpeg, sin entrar en muchos detalles, los archivos jpeg están divididos en segmentos y cada uno de estos segmentos contiene una información concreta. Uno de estos segmentos esta destinado a incluir comentarios (hasta 64Kb) , este es el que voy a utilizar, aunque también existen los llamados segmentos de aplicación destinados a que programas como photoshop o las propias cámaras digitales incluyan información sobre la imagen, utilizar uno u otro solo supone cambiar una línea dentro del código. Con respecto a la parte criptográfica tampoco quise liarme mucho así que utilice la criptoapi del propio Windows, más concretamente el algoritmo RC4 que puede que no sea el más seguro del mundo pero si no nos persigue la CIA se puede considerar suficientemente seguro. (En windows98 parece que no funciona la encriptación, aunque tampoco voy a pararme a averiguar porque) Bueno, echarle un vistazo al código haber que os parece, puede que a alguien le resulte útil alguna de la funciones que implemento, sobre todo las que utilizo para leer y escribir comentarios dentro del archivo jpeg o la que elimina los segmentos de comentario y aplicación de un archivo jpeg (limpia la imagen de información innecesaria). Si los queréis usar en vuestros programas adelante, cogerlos sin ningún problema. Bueno aquí os dejo el código, si tenéis alguna pregunta, sugerencia, o crítica ponerla aquí. Y voy a dejar de escribir que me esta quedando un mensaje inmenso Edito: Cambie el archivo zip, para corregir un pequeño error en la rutina de insertar comentario. Última edición por seoane fecha: 24-05-2006 a las 14:49:50. |
#2
|
||||
|
||||
Hola,
¡Bajaaaando! Muchas gracias Seoane. |
#3
|
||||
|
||||
Hola,
He hechado un vistazo al programa muy por encima (el código se me hace muy complejo para mí, al menos ahora, que estoy en otros menesteres...) pero, qué decir, ha compilado a la primera perfectamente, ha funcionado como se espera sin ningún problema, y, salvo pequeños detalles sin importancia para lo que nos ocupa, me ha parecido un buen trabajo, algo curioso y que puede admirar. Espero que no te importe que estrenara este WebLog contigo. Otra vez gracias. |
#4
|
||||
|
||||
Me siento muy honrado dec, y me alegro mucho de que te haya gustado.
|
#5
|
||||
|
||||
Hola,
Eres tú quien merece agradecimiento Seoane. Pero no sigamos por aquí o no terminaremos nunca. |
#6
|
||||
|
||||
saludos a tod@s en el foro
amigo seoane como tal vez t diste cuenta con ETI (si lo bajaste y lo probaste ) el trabajar con imagenes no es tan dificil (bueno despues de unas mil tazas de cafe , 5 mil cigarrillos y como una semana sin dormir ) es decir este tratamiento (el d las imagenes) lo puedes aplicar a casi (casi...) cualquier tipo de archivo sin importar cual.. ahora...tengo una duda sobre algo q dijiste: Cita:
ah otra cosa.. Cita:
estan ya compresos en la wikipedia te lo explican un poco mejor. y el ocultar el texto en la propia imagen se puede solo q la imagen al final parece q le hubiera dado sarampion sobre esto. Cita:
t lo digo ya q tuve una mala experiencia. antes d q ETI se llamara ETI (valga la redundancia) se llamaba "MsnPicture" algo como "mensajes en las imagenes" hasta ahí todo bien pero como la palabra Msn esta protegida por una patente de M$ m jodieron en un foro cuando decidi publicar su version 2.0 asip q tuve q cambiarle el nombre al proyecto decidí peliar pero nop tenia tanta plata para demandar a M$ a d + sip t interesa en pocos dias terminare ETI 2.0 y publicare el proyecto y el SRC de la version 1.0 y os podeis mirar la parte de encriptacion... bueno.. pero quien soy yo para decirte solo haz lo q quieras pero con cuidado
__________________
Diniremix ;) |
#7
|
||||
|
||||
amigo diniremix
Cita:
Cita:
Cita:
Cita:
Última edición por seoane fecha: 23-05-2006 a las 17:32:42. |
#8
|
||||
|
||||
Hola,
Cita:
Última edición por dec fecha: 21-05-2006 a las 06:46:42. |
#9
|
||||
|
||||
Tienes razon la ultima frase sobraba, pero me deje llevar.
|
#10
|
|||
|
|||
Yo no sé nada de criptografia, sólo digo que ya existe la compañia Steganos (con programas criptográficos también), ten cuidado a ver si te van a "joder"...
EDICIÓN: "el programa" por "la compañia" Última edición por [Gunman] fecha: 21-05-2006 a las 15:21:23. |
#11
|
||||
|
||||
No te preocupes el codigo solo era un ejemplito, no creo que nadie se moleste aunque demuestra mi poca imaginacion a la hora poner nombre a los programas. Le podia haber puesto "Mensajes ocultos" pero me parecia el nombre de un accesorio de la barbie (barbie mensajes secretos)
Por cierto, aprovecho para decir algo que creo que no deje claro, esto no intenta ser un programa para distribuir. Solo es una demostracion de como escribir informacion en el segmento destinado a comentarios dentro de un archivo jpg. Por eso pongo el codigo y no el ejecutable, por eso la presentacion del programa esta tan poco cuidada (solo me he centrado en la funciones de leer y escribir) y por eso no me molesto en hablar de licencias, copyright, etc ... solo queria compartir el codigo con otros programadores. |
#12
|
|||
|
|||
Todo aclarado!
Cita:
|
#13
|
||||
|
||||
hola a tod@s
salu2 Cita:
amig@ seoane gracias a la cita del amigo [Gunman] Cita:
a tod@s los del foro salu2 y gracias por dejar aprender un poco de ustedes cada dia "es licito aprender hasta del enemigo" bytes cuidense
__________________
Diniremix ;) |
#14
|
|||
|
|||
Bueno, ya he instalado el Delphi y he probado el programa Esteganos...
Y ya que estamos hablando de compartir conocimiento... Cómo le haces una paella a un aprendiz y no le pones la receta? Por favor, explicanos el código seoane, a los analfabetos como yo. El programa con el código comentado y enlaces donde encontrar información extra seria de gran untilidad, pero bueno... |
#15
|
||||
|
||||
Lo de no comentar el codigo es una fea costumbre que tengo, pero estoy encantado de comentarlo si esta interesado. Para no volver a subir el proyecto voy a ir poniendo aqui varias de las funciones ya comentadas:
Estas funciones manejan el archivo JPEG una vez lo tenemos en un stream
Para mas informacion sobre el formato de archivo JPEG http://www.wotsit.org/search.asp?page=5&s=graphics PD: Al comentar la funcion de insertar comentario me di cuenta de que daba mas pasos de los necesarios, debido a una confusion que tenia con respecto al primer segmento. Esto demuestra que nunca esta mal repasar el codigo Última edición por seoane fecha: 23-05-2006 a las 21:35:31. |
#16
|
||||
|
||||
Con respecto a las funciones criptograficas, poco se puede decir, estan basadas en estos ejemplos que tiene microsoft en su pagina
Encriptar y Desencriptar Aunque los ejemplos muestran como encriptar unos archivos y estan en C pero mas o menos es lo mismo, son los mismos pasos. Por ultimo, a lo mejor llama la atencion porque importo una a una las funciones criptograficas de la API, muy sencillo, la version 7 de delphi no tiene ninguna libreria que lo haga, supongo que en versiones posteriores ya lo hara pero tampoco lo se. De todas formas creo que en JEDI tenian disponible una libreria para usar esta API. Última edición por seoane fecha: 23-05-2006 a las 21:51:24. |
#17
|
||||
|
||||
Hola,
Cita:
|
#18
|
||||
|
||||
Cita:
No en serio, está muy bien; El código es muy ilustrativo (sin comentarios ), pero muy ilustrativo. Muy interesante. Me ha resultado curioso, que la imagen con mensaje ocupe menos que la original... Supongo que debido al factor de compresión estandard de los JPG. Si es así (que no lo se) ¿Se podría fijar a 100% para añadir información y no perder calidad? (tal vez estoy diciendo una salvajada soane, corrígeme si es así). Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#19
|
||||
|
||||
La imagen resultante ocupa menos porque elimino del archivo todos los comentarios anteriores y los segmentos de aplicacion. Estos segementos de aplicacion los añaden algunas aplicaciones con informacion extra, como cuando se hizo la foto o incluso thumbnails de la propia imagen. En archivos grandes apenas se notan pero en pequeños pueden llegar a "engordar" bastante el archivo. Por ahi circulan programas que dicen "optimizar" los archivos jpeg que hacen lo mismo, la gente cobra por cada cosa ...
En cuanto a la calidad no se cambia nada, porque la parte del archivo que contiene la informacion sobre la imagen se copia sin alterar, la imagen no se "recomprime" y por lo tanto no se pierde calidad en el proceso. |
#20
|
||||
|
||||
Ok, ya me parecía raro el tema de la pérdida de calidad, pero no le encontraba otra explicación.
Osea, usas JPG porque comprime mucho la imagen y luego te ponen los comentarios y demás que ocupa espacio innecesario... ¡¡¡Manda cojones!!! Gracias por la aclaración. P.D: Otra curiosidad; Aunque el programa trabaja con imágenes JPEG y añades la unidad JPEG, si la eliminas compila perfectamente.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 24-05-2006 a las 14:09:11. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Programa PDA. | Aprendiendo | Varios | 1 | 11-01-2005 19:17:23 |
Lanzar programa desde mi programa | Pablo Carlos | API de Windows | 32 | 09-09-2004 14:56:26 |
Ejecutar un programa externo desde un programa de Delphi | Roger_Fernandez | Varios | 3 | 02-09-2004 19:05:36 |
programa c++ | tartinamb | C++ Builder | 5 | 23-04-2004 18:01:24 |
Ejecutar un programa DENTRO de otro programa | seduerey | Varios | 8 | 12-11-2003 14:56:20 |
|