TestDisk Compilación

From CGSecurity
Jump to: navigation, search

En.png English De.png Deutsch Es.png Español Fr.png Français Ru.png Русский


Este documento explica como compilar TestDisk y PhotoRec.

Notas de cada Systema específico

DOS

TestDisk & PhotoRec pueden compilar desde DOS/Win9x usando DJGPP. Leer DOS para más información.

Mac OS X

Para compilar TestDisk & PhotoRec, instalar Apple Development Kit desde el DVD de instalación de Mac-OS X. Ver Mac OS X para notas adiccionales.

Linux

  • Debian, Ubuntu: apt-get, install, build-essential, e2fslibs-dev, libncurses5-dev, libncursesw5-dev, libntfs-dev, libjpeg62-dev, libreiserfs0.3-dev, uuid-dev, zlib1g-dev
  • Fedora, RedHat Enterprise, CentOS: yum, install, ncurses-devel, e2fsprogs-devel, libjpeg-devel, ntfsprogs-devel, libewf-devel, zlib-devel, openssl-devel, libuuid-devel. Son necesarios paquetes adiccionales para la versión instalada (esta versión no usa las bibliotecas locales): ncurses-static libjpeg-static zlib-static openssl-static glibc-static.
  • Mandriva: urpmi, ncurses-devel, e2fsprogs-devel, jpeg-devel, libntfs-devel, zlib-devel, openssl-devel, libewf-devel
  • OpenSuse: install, ncurses-devel, e2fsprogs-devel, libjpeg-devel, ntfsprogs-devel, zlib-devel, openssl-devel, libreiserfs-devel, libuuid-devel

Para más información leer Compile Linux.

Windows

Usar el compilador libre C/C++ Cygwin para realizar la version de Windows (Windows NT 4/Windows 2000/XP/2003/Vista...).
También es posible usando el compilador MinGW pero algunas funcionalidades/Bibliotecas pueden estar perdidas. Para detalles adiccionales leer Compile Win.

Bibliotecas

  • Bibliotecas libncurses - Requerida, TestDisk y PhotoRec usa una interfaz de usuario de texto, la biblioteca Ncurses y los archivos de desarrollo deben estar disponibles.
  • Biblioteca Ext2fs - Opcional, usada por TestDisk para listar archivos en las particiones tipo ext2/ext3 y por PhotoRec para poder preparar el espacio libre de una partición tipo ext2/ext3 en lugar de la partición completa.
  • Biblioteca EWF - Opcional, TestDisk y PhotoRec la usan para acceder a archivos Express Witness Compression Format,(EWCF) (Por ejemplo: archivos Encase).
  • Biblioteca Iconv - Opcional, usada para manejar nombre de archivo Unicode.
  • Biblioteca Jpeg - Opcional, usada por PhotoRec para mejorar la tasa de recuperación en JPEG.
  • Biblioteca NTFS - Opcional, usada por TestDisk para listar archivos en particiones NTFS.
  • Biblioteca OpenSSL - Necesaria si la colección EWF se usa para manejar Crypto.
  • Biblioteca Reiserfs - Opcional, usada por TestDisk para listar archivos en las particiones Reiserfs.
  • Biblioteca zlib - Opcional, usada por PhotoRec para descomprimir el contenido comprimido con gzip.

Biblioteca ncurses

La Biblioteca ncurses suele ser instalada con su sistema operativo, por lo que no necesita compilarlo usted mismo. Si ncursesw está disponible, TestDisk y PhotoRec la usarán para mostrar caracteres unicode.

Biblioteca Ext2fs

La Biblioteca Ext2fs suele ser instalada con su sistema operativo, así que no necesita compilarla usted mismo. De no ser así obtenga la última versión de e2fsprogs en e2fsprogs.sf.net

tar xzf e2fsprogs-1.38.tgz
cd e2fsprogs-1.38
./configure --with-cc=gcc
make libs
make install

Biblioteca EWF

El código fuente de la Biblioteca EWF puede ser descargado de http://libewf.sourceforge.net/.

tar xzf libewf-beta-20070408.tar.gz
cd libewf-20070408
./configure
make lib
make install

Biblioteca Iconv

En la mayoría de las plataformas, las funciones iconv están integradas en libc, por lo que no se necesita ninguna Biblioteca adicional. En Windows, un paquete libiconv está disponible en el sitio web Cygwin pero como Cygwin, actualmente, no maneja los nombres de archivo Unicode, se deb usar la Biblioteca, no oficial, utf8-cygwin.dll en su lugar. Un paquete libiconv está disponible para DOS/DJGPP pero es inútil ya que el SO no soporta nombres de archivo Unicode.

Biblioteca Jpeg

La biblioteca Libjpeg suele ser instalada con su sistema operativo, así que no necesita compilarla usted mismo. De no ser así descargue el código fuente de esta Biblioteca desde http://www.ijg.org/files/jpegsrc.v6b.tar.gz

tar xzf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared --enable-static
make
sudo make install

Mac OS X 10.3 viene con GNU libtool, aunque con un nombre ligeramente distinto, glibtool. Puede tener que ejecutar

ln -s `which glibtool` ./libtool

Como compilar ntfsprogs

Obtenga la última versión de ntfsprogs de linux-ntfs.sf.net

tar xzf ntfsprogs-1.13.0.tar.gz
cd ntfsprogs-1.13.0
./configure
make libs
make install

Para obtener una versión funcional bajo NT-4, use configure --disable-default-device-io-ops ya que el SetFilePointerEx usado por win32_io.c no está exportado a NT-4.DLL.

Biblioteca ReiserFS

Obtenga progsreiserfs-0.3.1-rc8.tar.gz en reiserfs.osdn.org.ua

tar xzf progsreiserfs-*.tar.gz
cd progreiserfs-0.3.1-rc8
./configure --disable-nls
make
make install

Como compilar TestDisk

Método estándar

Para compilar TestDisk y PhotoRec, ejecute:

./configure
make

Quizás necesite especificar parámetros para configurarlo, ver configure --help.
Ejemplo:

./configure
--with-reiserfs-lib=/home/kmaster/perso/testdisk-5.2/progsreiserfs-0.3.1-rc8/libreiserfs/.libs/
--with-reiserfs-includes=/home/kmaster/perso/testdisk-5.2/progsreiserfs-0.3.1-rc8/include/
--with-ntfs-lib=/home/kmaster/perso/testdisk-5.2/ntfsprogs-1.8.5/libntfs/.libs/
--with-ntfs-includes=/home/kmaster/perso/testdisk-5.2/ntfsprogs-1.8.5/include/
--with-ext2fs-lib=/home/kmaster/perso/testdisk-5.2/e2fsprogs-1.34/lib
--with-ext2fs-includes=/home/kmaster/perso/testdisk-5.2/e2fsprogs-1.34/lib

Versión estática

Si necesita ejecutar el binario en un sistema que carece de alguna de las bibliotecas anteriores, puede crear un binario estático con:

make static

Binario comprimido estático

Si necesita un pequeño binario para una distribución binaria, obtenga el UPX packer en upx.sf.net y ejecute:

strip src/testdisk src/photorec
upx src/testdisk src/photorec

Notar que UPX de Linux necesita descomprimir archivos de programa antes de ejecutarse, y que va a requerir algo de espacio en /tmp para hacerlo. El ejecutable debe tener permisos en este directorio (estos permisos se pueden otorgar utilizando mount -o remount,exec /tmp).

Notas de Sistemas Operativos

Por favor, lea las notas sobre su Sistema Operativo:

Compilación Cruzada

Volver a la página TestDisk (Castellano)