Es frecuente borrar archivos accidentalmente, ya sea de la memoria del teléfono móvil, de la computadora personal, un reproductor mp3 o un dispositivo USB. Pero no siempre se tiene un backup de esa información, y al eliminarla se pierde por completo.

En esta oportunidad hablaremos acerca de una herramienta de código abierto y libre con la cual es posible recuperar esos archivos que creíamos perdidos: PhotoRec. Es capaz de recuperar diferentes formatos de archivos como imágenes JPG, archivos de texto TXT y audios MP3, entre otros.

En su configuración por defecto, PhotoRec guarda automáticamente los archivos recuperados en el directorio desde donde se ejecuta. Sin embargo, la ruta de guardado puede configurarse según las preferencias del usuario. Cabe destacar que la aplicación tiene compatibilidad con sistemas GNU/Linux, Windows, Mac OS X y SunOS, entre otros.

¿Cómo funciona?

Los sistemas de almacenamiento de archivos como NTFS, FAT, ext3 y ext4 almacenan la información en bloques de datos. El tamaño de cada bloque se mantiene en un número constante de sectores, después de haber sido inicializado en el formato del sistema de ficheros. Generalmente, los sistemas operativos intentan almacenar los datos de forma contigua para minimizar la fragmentación de los mismos, ya que en discos mecánicos, los tiempos de lectura y escritura son significativos. Por eso, se intenta mantener al mínimo la fragmentación de datos.

Al eliminar un archivo se elimina su meta-información, es decir datos como el nombre de archivo y la fecha de creación. No obstante, sigue presente en el sistema de archivos, hasta que este bloque de información sea sobrescrito con nueva información.

Para recuperar archivos eliminados, PhotoRec primero intenta encontrar el bloque de datos correspondiente. Si el sistema de archivos no está dañado, este valor puede ser leído en el registro de arranque del volumen. De no ser así, PhotoRec leerá los medios de almacenamiento sector por sector en busca de los primeros diez archivos, donde se calcula el tamaño del bloque o clúster de sus ubicaciones. Una vez conocido el tamaño, la herramienta leerá cada uno y lo comparará con una base de datos de firmas que vienen con la aplicación.

PhotoRec identifica un archivo, JPEG por ejemplo, cuando un bloque comienza de la siguiente manera:

  • Comienzo De La Imagen + APP0: 0xff, 0xd8, 0xff, 0xe0
  • Comienzo De La Imagen + APP1: 0xff, 0xd8, 0xff, 0xE1
  • o Inicio De La Imagen + Comentario: 0xff, 0xd8, 0xff, 0xfe

Cuando un archivo es recuperado satisfactoriamente, la herramienta revisa los bloques de datos anteriores para ver si se ha encontrado una firma de archivo. Cuando este no pudo ser recuperado con éxito (es decir, era demasiado pequeño), vuelve a intentarlo. De esta forma algunos archivos fragmentados pueden ser recuperados con éxito.

Veamos un ejemplo práctico de la herramienta en acción:

Photorec_ESET
En la imagen anterior se aprecia la selección de unidad a analizar, en este caso se seleccionó la opción 2.

Photorec_ESET
Con la unidad seleccionada, la siguiente pantalla preguntará qué tipo formato de partición es la unidad a analizar, en este caso FAT32.

Photorec_ESET
La siguiente pregunta de la herramienta da la posibilidad de elegir buscar archivos sólo en espacio sin asignar (la opción que fue seleccionada para esta práctica de laboratorio), o realizar extracción de la partición completa.

Tal como se aprecia en la captura de arriba, preguntará dónde queremos guardar los archivos recuperados. En este caso fue en un disco externo, dentro de una carpeta llamada Recupero, como se muestra en el paso 1. Una vez seleccionada la carpeta, bastará sólo con presionar la tecla C como se muestra en el paso 2:

Photorec_ESET
De esta forma, la herramienta empieza a trabajar:

Photorec_ESET
Una vez finalizada la búsqueda establecida, se mostrará un mensaje como el siguiente:

Photorec_ESET
En el directorio configurado para que PhotoRec guarde los archivos recuperados, podremos ver los directorios creados por la herramienta (en este caso se crearon 820 carpetas con archivos):

Photorec_ESET
Dentro de estos directorios, habrá diferentes tipos de archivos que la herramienta fue capaz de recuperar, tales como archivos comprimidos o multimedia como GIF. También se encuentran archivos ejecutables como los EXE:

Photorec_ESET
Herramientas como PhotoRec resultan muy útiles en casos de disaster recovery, en los que suelen perderse archivos de todo tipo. Por eso, desde el Laboratorio de Investigación de ESET Latinoamérica queremos compartir esta información con ustedes, para estar preparados ante este tipo de adversidades.