Desarrolladores
From CGSecurity
Contents |
Usando Git para obtener la última versión del código fuente
Git es un moderno administrador de código fuente
http://git.cgsecurity.org/testdisk.git es el repositorio de Git para trackear el código fuente de TestDisk & PhotoRec, se lo puede browsear usando http://git.cgsecurity.org/cgit/testdisk/
Instalar git usando
-
yum install gitpara Fedora, RedHat, Centos -
sudo apt-get install git-corepara Debian, Ubuntu
Configure sus seteos locales
$ git config --global user.name "Su Nombre" $ git config --global user.email "Su Email"
Clonar el código fuente actual
$ git clone http://git.cgsecurity.org/testdisk.git
Compilar TestDisk & PhotoRec
$ cd testdisk $ mkdir config $ aclocal -I config $ autoheader -W all $ autoconf -W all $ automake --gnits --add-missing --copy $ ./configure $ make
Leer Compilación de TestDisk si tiene problemas para compilar TestDisk & PhotoRec
Es hora de hacer sus propias modificaciones y subir el parche
$ (edit files) $ git add (files) $ git commit -a $ git format-patch origin/master $ ls *.patch
Descargar el código fuente
Si no ha podido instalar git, descargue una imagen de TestDisk & PhotoRec latest source code. Obtenga la versión beta, la Work-In-Progress (WIP).
Agregando un nuevo formato de archivo a PhotoRec
El primer paso es revisar si PhotoRec no está ya identificando ese formato.
Ejecutar fidentify sample_file. Si el archivo es identificado con una extensión correcta, revisar si hay forma de diferenciar este archivo de los demás archivos con la misma extensión.
Si fidentify reporta que el formato es desconocido (unknown), ha encontrado un candidato para la inclusión.
Si la especificación del formato de archivo no está disponible, compare varias muestras para identificar campos constantes. Por ejemplo, PhotoRec identifica un archivo JPEG cuando un bloque comienza como:
- 0xff,0xd8,0xff,0xe0
- 0xff,0xd8,0xff,0xe1
- or 0xff,0xd8,0xff,0xfe
Para agregar un nuevo formato de archivo a PhotoRec,
- editar src/file_list.c para agregar
extern const file_hint_t file_hint_<EXTENSION>;
- y en list_file_enable[]
{ .enable=0, .file_hint=&file_hint_<EXTENSION> },
- editar src/Makefile.am para modificar la definición file_C, agregar
file_<EXTENSION>.c
- Si hay un archivo de cabecera, agregarlo a la definición file_H
- Crear un nombre de archivo
src/file_<EXTENSION>.c. - Registrar los header MAGIC en register_header_check_EXTENSION()
En este ejemplo, file_check_EXTENSION() es usado para checkear un pie de archivo (footer).
Checkear
- src/file_bmp.c para un ejemplo donde el tamaño de archivo está guardado en la cabecera.
- src/file_bac.c, src/file_mp3.c, src/file_m2ts.c, src/file_mov.c para un formato de archivo usando streaming
- src/file_gz.c, src/file_d2s.c, src/file_r3d.c for example where the file name is found in the header
- src/file_doc.c, src/file_exe.c donde el nombre de archivo puede ser encontrado en el archivo mismo
- src/file_doc.c, src/file_fits.c, src/file_jpg.c, src/file_tiff.c: se extrae del archivo la fecha y la hora
qphotorec: PhotoRec con una interfaz Qt4
Habilitar la compilación de QPhotoRec:
./configure --enable-qt && make
qphotorec no se puede todavía usar pero se agradece la colaboración para trabajar en él ;-)