Desarrolladores

From CGSecurity
Jump to: navigation, search

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 git para Fedora, RedHat, Centos
  • sudo apt-get install git-core para 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,

  extern const file_hint_t file_hint_<EXTENSION>;
  • y en list_file_enable[]
  { .enable=0, .file_hint=&file_hint_<EXTENSION> },
       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

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 ;-)