brute_file_carving: recuperación de imágenes corruptas
Saludos,
El tema de éste post inició con un interrogante.
Si tengo una cantidad de información en crudo como una imagen de un disco corrupta, o un archivo de word corrupto, o cualquier otro tipo de raw data (información en crudo) del cual puedo leer su código hexadecimal en crudo y del cual necesito sabe que tipo de archivos, información contiene ¿como recupero la información legible?
Algunos preconceptos a tener en cuenta:
Código hexadecimal
Como editar código hexadecimal
Headers y footers de tipos de archivos
Pues si el propósito es hacer el análisis manual de la información se me
 ocurrió hacer una prueba de concepto primero buscando en la lectura 
hexadecimal de la raw data (información en crudo) un header de una 
imagen jpg y buscar su correspondiente footer, en el caso de no 
encontrarse o de haber sido eliminado dicho footer no sabría donde 
termina la imágen.
Entonces empecé a hacer una prueba haciendo un script en python que leyera el código hexadecimal en crudo del archivo y fuera agregando el footer jpg luego de cada byte para hacer la prueba, al hacer ésto deberían generarse una serie de imágenes de las cuales luego verificaría de cuales de esas imágenes se generaría una vista previa en el explorador de archivos y proseguiría a observar como se ve dichas imágenes generadas.
Luego de terminar el script leí un poco sobre el concepto y encontré que dicha técnica se llamaba file carving por lo cual llamé al script brute file carving pero de hecho antes de hacer el script no había leído sobre la técnica y como se hacía.
El propósito era entonces simplemente recuperar una imágen pero me encontré con algo interesante,
luego de ver las imágenes que se generaban, pude
apreciar visualmente como es que se genera una imágen byte a byte, como 
se van creando los pixeles, como se siguen algunos patrones dependiendo 
de la imágen y el tamaño de las mismas , ésto es lo que les comparto 
hoy, el script que hice y el video de como funciona.
La idea es hacer luego un video más extenso explícando cada parte del 
código del script.
Video de la prueba de concepto:
Link del repositorio de código: https://github.com/kr1shn4murt1/brute_File_Carving
Código fuente del script: brute_file_carving.py
Link de la imágen de prueba: Test_Image.jpg
Comentarios
Publicar un comentario