TestDisk Kompilation

From CGSecurity

Jump to: navigation, search

Dieses Dokument erklärt, wie TestDisk und PhotoRec zu kompilieren sind.

Contents

Libraries (Bibliotheken)

  • libncurses - Erforderlich, TestDisk und PhotoRec verwenden die ncurses-Schnittstelle, so dass ncurses-Bibliotheks- und Entwicklungsdateien vorhanden sein müssen.
  • Ext2fs library - Optional, von TestDisk verwendet, um Dateien von ext2/ext3-Partitionen aufzulisten
  • Reiserfs library - Optional, von TestDisk verwendet, um Dateien von reiserfs-Partitionen aufzulisten
  • NTFS library - Optional, verwendet von TestDisk, um Dateien von NTFS-Partitionen aufzulisten
  • Jpeg library - Optional, verwendet von PhotoRec für eine verbesserter JPEG-Wiederherstellungsrate

Ext2fs Library

Ext2fs library is usually installed with your OS, so you don't need to compile it yourself. Otherwise get latest version of e2fsprogs at http://e2fsprogs.sourceforge.net

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

Jpeg library

Libjpeg library is usually installed with your OS, so you don't need to compile it yourself. Otherwise download libjpeg source from ftp://ftp.uu.net/graphics/jpeg/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 ships with GNU libtool, albeit under a slightly different name, glibtool. You may have to run

ln -s `which glibtool` ./libtool

How to compile ntfsprogs

Get the latest version of ntfsprogs from http://linux-ntfs.sf.net/

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

To get a working version under NT 4, use configure --disable-default-device-io-ops because SetFilePointerEx used by win32_io.c is not exported by NT 4 DLL.

ReiserFS Library

Get progsreiserfs-0.3.1-rc8.tar.gz at http://reiserfs.osdn.org.ua/

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

How to compile TestDisk

Standard method

To compile TestDisk and PhotoRec, run

./configure
make

You may need to specify parameters to configure, see configure --help.
Example:

./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

Static version

If you need to run the binary on systems that lack one of the previous libraries, create a static binary with

make static

Static compressed binary

If you need a small binary for binary distribution, get the UPX packer at http://upx.sourceforge.net/ and run

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

Note that Linux UPX needs to decompress program files before running, and it will request some space on /tmp to do this. The running executable must be allowed in this directory (mount -o remount,exec /tmp).

OS Notes

Please read notes about your OS:

Cross-compilation

Zurück zu TestDisk

Data Recovery