FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Recuperar imagenes jpeg
El proyecto de esta tarde ha sido crear un programa para recuperar imágenes jpeg borradas. El proceso es sencillo, se va examinado byte a byte el fichero que contiene una imagen del disco, buscando una secuencia característica ($FFD8FF), esta secuencia se encuentra al comienzo de todos los archivos Jpeg.
Si encontramos esa secuencia es muy posible que lo que venga a continuación sea una imagen jpeg. Además vamos a suponer que el archivo se ha guardado en cluster contiguos, algo también muy probable, aunque si el disco estaba muy fragmentado esta suposición puede ser equivocada y en ese caso no podremos recuperar el archivo (con este método). Bueno, vamos a ponernos en lo mejor, y suponemos que lo que viene a continuación de la secuencia es la imagen. Entonces el programa va copiando cada uno de los segmentos que forman la imagen jpg hasta encontrar la marca que indica el final del fichero. Si hay suerte recuperaremos la imagen Hasta aquí supongo que el proceso se entiende bien, examinamos un fichero en busca de imágenes y las extraemos. La cuestión ahora es como obtener ese fichero. Ese fichero puede ser "cualquier cosa" en la que sepamos que hay una imagen, la imagen de un disco o incluso una archivo jpeg con un thumbnail dentro (en ese caso el programa extraerá la imagen en miniatura). Asi que, si lo que queremos es examinar un disco (una memoria usb por ejemplo) primero tenemos que crear una imagen, eso lo podemos hacer con muchos programas (incluso creo que hay algún código para eso en el foro), yo recomiendo por ejemplo este programa Una vez que tenemos la imagen solo tenemos que hacer algo como esto: Código:
JpegRecover imagen.bin C:\%d.jpg Y si lo que queremos es extraer la imagen en miniatura de un archivo jpg: Código:
JpegRecover imagen.jpg C:\%d.jpg
PD: El siguiente proyecto sera crear un programa que cree de forma automática y oculta una imagen de todos los discos usb que se inserten en el ordenador, mas tarde le pasamos el recover a las imágenes y .... es broma, eso además de ilegal, estaría muy feo. |
#2
|
||||
|
||||
Veo que no levanto mucho interés este tema. Quizá sea por necesitar de otro programa para leer sector a sector el disco que se quiere explorar en busca de imágenes jpg. También es verdad que daba como alternativa un programa hecho en C y que también publique por aquí hace tiempo.
El caso es que, como estamos en el ClubDelphi, quizá sea mas interesante si el código para extraer la información del disco esta escrito en delphi y no en C. Pues no hay problema, aquí va un poco de código: (Es una aplicación de consola)
Para usarlo, por ejemplo para crear una imagen del disco F : Código:
dump if=\\.\F: > imagen.bin Código:
dump if=\\.\PhisicalDrive0 > imagen.bin Código:
dump if=imagen.bin of=\\.\F: |
#3
|
||||
|
||||
je, je... seoane, no es que no levante interés tu estupendo programa... lo que ocurre es que no muchos tenemos jpeg para recuperar en estos momentos
Personalmente, me gusta ver tu código, es bastante parecido a como escribo yo, es muy claro, no necesita comentarios y siempre me hace recordar al lenguaje C, mi querido lenguaje C |
#4
|
||||
|
||||
Gracias Casimiro, yo ya pensaba que me estaban ignorando
|
#5
|
|||
|
|||
Cita:
A título personal, no se como manipular ese código, rebasa mi entendimiento. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#6
|
||||
|
||||
Hola,
Cita:
|
#7
|
||||
|
||||
Cita:
Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#8
|
||||
|
||||
Bueno, sigo con el tema. Ahora que se que alguien lo lee
Vamos a sacrificar un poco de rapidez a cambio de ganar sencillez, y evitar además tener que guardar una imagen del disco. Ahora leemos directamente la información del disco y la analizamos, todo en memoria.
Por ejemplo: Código:
recover \\.\F: c:\temp\%d.jpg |
#9
|
||||
|
||||
Cita:
A mi no creo que me sirva de mucho, mis amigos, que ya me conocen, no me dejan sus discos y cuando los insertan en mi ordenador lo hacen con recelo. Uno ya me advirtió que como la luz parpadee demasiado se va a mosquear .... Y no se porque, yo no hago esas cosas |
#10
|
||||
|
||||
Pues yo sigo aquí, de fisgón, aquí les dejo un programa que busca los archivos "thumb.db" (al parecer en Vista se llaman thumbcache_xxxx.db) creados por el explorer cuando vemos una carpeta con imágenes utilizando las "Vistas en miniatura". Lo "divertido" es que tiene el mal habito de no borrar las miniaturas almacenadas en la cache cuando se borra la imagen original, así que podemos encontrarnos con alguna sorpresa.
Es una aplicación de consola:
Por ejemplo: Código:
Fisgon C:\ %d.jpg |
#11
|
||||
|
||||
Hola
Lo vengo viendo desde que empezaste este hilo, debería haber un contador de visitas silenciosas, ya ni se cuantas veces he entrado en este, pero siempre me quedo igual, es demasiado para mi. Lo unico que puedo poner aqui es , total asombro. Maestro eres genial. Saludos |
#12
|
||||
|
||||
Gracias Caral, pero en realidad no es muy complicado, solo hay que conocer el formato de los archivos jpeg. La verdad es que no tiene mucha utilidad "real", pero demuestra perfectamente lo difícil que es mantener los secretos ocultos cuando hablamos de ordenadores.
|
#13
|
||||
|
||||
No se que palabras decirte, no he probado el código aún, y es algo que escapa a lo que mi pobre cerebro logra entender....
Leí el hilo hace tiempo, cuando tu recién lo habías iniciado. Preferí no meter mi nariz en el asunto porque todavía me suena a una dimensión desconocida. No es tu código, sino que mi conocimiento del tema sobre la estructura del jpg no es muy alentador. Las únicas palabras que te puedo articular: ¡Sos un Maestro! |
#14
|
||||
|
||||
Yo añadiría una coma, para que se entienda bien:
¡Sos un fisgon, Maestro! Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#15
|
||||
|
||||
No soy muy fisgón , lo que pasa es que me aburro mucho
PD: Si en vez de buscar "thumbs*.db", le decimos que busque imágenes jpeg, por ejemplo con "*.jpg", lo que obtendremos serán las imágenes originales, y además, las imágenes en miniatura que almacenan algunos programas dentro de los archivos y que a veces dan sorpresas. Pero sigo sin ser un fisgón , eso que conste !!! |
#16
|
||||
|
||||
Cita:
No pude evitar reirme... Cita:
¿Y porqué no aprovechas el enorme potencial que tienes sobre Delphi para sacarte unos euros extras? Para mantenerte ocupado... Saludos, |
#17
|
||||
|
||||
Cita:
|
#18
|
|||
|
|||
Cita:
y apoyo eso de que publiques en mas lugares tus desarrollos, que seguramente gente te necesita ($$$$$) |
#19
|
||||
|
||||
Aquí podéis encontrar la ultima versión. Compila en Delphi y Freepascal, funciona en windows y en linux, recupera imágenes en discos y archivos, etc ...
http://delphi.jmrds.com/?q=node/42 Algunos ejemplos de uso: Código:
recover --if=\\.\F: --bs=4096 --fs=%d.jpg recover --if=/dev/sda --bs=4096 --fs=%d.jpg recover --if=thumb.db --fs=%d.jpg --id=100 |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Incluir imagenes JPEG en paradox 7 | rsantosr | Gráficos | 3 | 06-12-2005 01:12:25 |
cabecera de imagenes jpeg | samantha jones | Gráficos | 1 | 19-08-2004 03:35:29 |
Problemas alguardar imagenes jpeg y gif en un campo blob | Flycket | Firebird e Interbase | 3 | 20-02-2004 09:29:02 |
TMysql imagenes jpeg | xobius | Conexión con bases de datos | 0 | 11-02-2004 16:21:16 |
Visualizar Imagenes Jpeg | Legolas | Gráficos | 1 | 17-11-2003 21:14:23 |
|