summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL8
-rw-r--r--configure.ac5
-rw-r--r--src/Makefile.am6
-rw-r--r--src/fuzzerfidentify.cpp131
-rw-r--r--src/lang/qphotorec.it.ts8
-rw-r--r--src/lang/qphotorec.ja.ts252
-rw-r--r--src/lang/qphotorec.tr.ts257
7 files changed, 656 insertions, 11 deletions
diff --git a/INSTALL b/INSTALL
index 438d6b0..ce89891 100644
--- a/INSTALL
+++ b/INSTALL
@@ -26,10 +26,10 @@ testdisk uses several libraries if available:
Linux
-----
- * Debian/Ubuntu: `apt-get install -y build-essential e2fslibs-dev libncurses5-dev libncursesw5-dev ntfs-3g-dev libjpeg-dev uuid-dev zlib1g-dev qtbase5-dev qttools5-dev-tools pkg-config dh-autoreconf git'
- * RHEL/CentOS 5: `yum install -y buildsys-build e2fsprogs-devel libjpeg-devel ncurses-devel ntfs-3g-devel zlib-devel'
- * RHEL/CentOS 6 or later: `yum install -y @buildsys-build desktop-file-utils e2fsprogs-devel libewf-devel libjpeg-devel libuuid-devel ncurses-devel ntfs-3g-devel qt-devel zlib-devel'
- * Fedora: `dnf install -y @buildsys-build desktop-file-utils e2fsprogs-devel libewf-devel libjpeg-devel libuuid-devel ncurses-devel ntfs-3g-devel qt-devel zlib-devel'
+ * Debian/Ubuntu: `apt-get install build-essential e2fslibs-dev libncurses5-dev libncursesw5-dev ntfs-3g-dev libjpeg-dev uuid-dev zlib1g-dev qtbase5-dev qttools5-dev-tools pkg-config dh-autoreconf git'
+ * RHEL/CentOS 5: `yum install buildsys-build e2fsprogs-devel libjpeg-devel ncurses-devel ntfs-3g-devel zlib-devel'
+ * RHEL/CentOS 6 or later: `yum install @buildsys-build desktop-file-utils e2fsprogs-devel libewf-devel libjpeg-devel libuuid-devel ncurses-devel ntfs-3g-devel qt-devel zlib-devel'
+ * Fedora: `dnf install @buildsys-build desktop-file-utils e2fsprogs-devel libewf-devel libjpeg-devel libuuid-devel ncurses-devel ntfs-3g-devel qt-devel zlib-devel'
Mac OS X
--------
diff --git a/configure.ac b/configure.ac
index ed06d17..28d3240 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,7 +6,7 @@ AC_INIT([testdisk],[7.1-WIP],[grenier@cgsecurity.org])
AC_LANG(C)
sinclude(acx_pthread.m4)
sinclude(mkdir.m4)
-TESTDISKDATE="September 2018"
+TESTDISKDATE="December 2018"
AC_SUBST(TESTDISKDATE)
AC_DEFINE_UNQUOTED([TESTDISKDATE],"$TESTDISKDATE",[Date of release])
AC_CONFIG_AUX_DIR(config)
@@ -1030,10 +1030,10 @@ then
fi
photorecf_LDADD=$photorec_LDADD
+fuzzerfidentify_LDADD="-fsanitize=fuzzer $fidentify_LDADD"
CFLAGS="$CFLAGS $coverage_flags"
CXXFLAGS="$CXXFLAGS $coverage_flags"
CPPFLAGS="$CPPFLAGS $coverage_flags"
-
AC_SUBST(CFLAGS)
AC_SUBST(CXXFLAGS)
AC_SUBST(CPPFLAGS)
@@ -1042,6 +1042,7 @@ AC_SUBST(MOC)
AC_SUBST(LRELEASE)
AC_SUBST(QT_SELECT)
AC_SUBST(fidentify_LDADD)
+AC_SUBST(fuzzerfidentify_LDADD)
AC_SUBST(testdisk_LDADD)
AC_SUBST(photorec_LDADD)
AC_SUBST(photorecf_LDADD)
diff --git a/src/Makefile.am b/src/Makefile.am
index 625ef21..002a8be 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -12,7 +12,7 @@ if USEQT
endif
bin_PROGRAMS = testdisk photorec fidentify $(QPHOTOREC)
-EXTRA_PROGRAMS = photorecf
+EXTRA_PROGRAMS = photorecf fuzzerfidentify
base_C = autoset.c common.c crc.c ewf.c fnctdsk.c hdaccess.c hdcache.c hdwin32.c hidden.c hpa_dco.c intrf.c iso.c list_sort.c log.c log_part.c misc.c msdos.c parti386.c partgpt.c parthumax.c partmac.c partsun.c partnone.c partxbox.c io_redir.c ntfs_io.c ntfs_utl.c partauto.c sudo.c unicode.c win32.c
base_H = alignio.h autoset.h common.h crc.h ewf.h fnctdsk.h hdaccess.h hdwin32.h hidden.h guid_cmp.h guid_cpy.h hdcache.h hpa_dco.h intrf.h iso.h iso9660.h lang.h list.h list_sort.h log.h log_part.h misc.h types.h io_redir.h msdos.h ntfs_utl.h parti386.h partgpt.h parthumax.h partmac.h partsun.h partxbox.h partauto.h sudo.h unicode.h win32.h
@@ -369,8 +369,10 @@ QT_TS = \
lang/qphotorec.es.ts \
lang/qphotorec.fr.ts \
lang/qphotorec.it.ts \
+ lang/qphotorec.ja.ts \
lang/qphotorec.pt.ts \
lang/qphotorec.ru.ts \
+ lang/qphotorec.tr.ts \
lang/qphotorec.zh_TW.ts
photorec_SOURCES = phmain.c $(photorec_C) $(photorec_H) $(photorec_ncurses_C) $(photorec_ncurses_H) $(file_C) $(file_H) $(base_C) $(base_H) partgptro.c $(fs_C) $(fs_H) $(ICON_PHOTOREC) suspend_no.c
@@ -383,6 +385,8 @@ nodist_qphotorec_SOURCES = moc_qphotorec.cpp rcc_qphotorec.cpp rcc_qphotorec_loc
fidentify_SOURCES = fidentify.c common.c common.h misc.c misc.h phcfg.c phcfg.h setdate.c setdate.h $(file_C) $(file_H) log.c log.h crc.c crc.h ext2_common.c fat_common.c fat_common.h suspend_no.c
+fuzzerfidentify_SOURCES = fuzzerfidentify.cpp common.c common.h misc.c misc.h phcfg.c phcfg.h setdate.c setdate.h $(file_C) $(file_H) log.c log.h crc.c crc.h ext2_common.c fat_common.c fat_common.h suspend_no.c
+
QT_QM=$(QT_TS:.ts=.qm)
SECONDARY: $(QT_QM)
diff --git a/src/fuzzerfidentify.cpp b/src/fuzzerfidentify.cpp
new file mode 100644
index 0000000..f5be374
--- /dev/null
+++ b/src/fuzzerfidentify.cpp
@@ -0,0 +1,131 @@
+/*
+
+ File: fuzzerfidentify.cpp
+
+ Copyright (C) 2018 Christophe GRENIER <grenier@cgsecurity.org>
+
+ This software is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write the Free Software Foundation, Inc., 51
+ Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <stdio.h>
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+#include <sys/stat.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <dirent.h>
+#include "types.h"
+#include "common.h"
+#include "filegen.h"
+#include <sys/types.h>
+#include <unistd.h>
+extern file_enable_t list_file_enable[];
+extern file_check_list_t file_check_list;
+
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
+{
+ const size_t blocksize=65536;
+ static unsigned char *buffer_start=NULL;
+ static file_stat_t *file_stats=NULL;
+ static char *filename=NULL;
+ uint8_t *buffer;
+ if(Size == 0)
+ return 0;
+ if(filename==NULL)
+ {
+ pid_t pid=getpid();
+ filename=(char *)MALLOC(64);
+ sprintf(filename, "sample%u", pid);
+ }
+ if(file_stats==NULL)
+ {
+ /* Enable all file formats */
+ file_enable_t *file_enable;
+ for(file_enable=list_file_enable;file_enable->file_hint!=NULL;file_enable++)
+ file_enable->enable=1;
+ file_stats=init_file_stats(list_file_enable);
+ }
+ if(buffer_start==NULL)
+ {
+ buffer_start=(unsigned char *)MALLOC(2*blocksize);
+ }
+ buffer=buffer_start+blocksize;
+ memcpy(buffer, Data, (Size < blocksize ? Size : blocksize));
+ {
+ struct td_list_head *tmpl;
+ file_recovery_t file_recovery_new;
+ file_recovery_t file_recovery;
+ reset_file_recovery(&file_recovery);
+ file_recovery.blocksize=blocksize;
+ file_recovery_new.blocksize=blocksize;
+ file_recovery_new.file_stat=NULL;
+ td_list_for_each(tmpl, &file_check_list.list)
+ {
+ struct td_list_head *tmp;
+ const file_check_list_t *pos=td_list_entry_const(tmpl, const file_check_list_t, list);
+ if(pos->offset <= blocksize)
+ {
+ td_list_for_each(tmp, &pos->file_checks[buffer[pos->offset]].list)
+ {
+ const file_check_t *file_check=td_list_entry_const(tmp, const file_check_t, list);
+ if((file_check->length==0 ||
+ (file_check->offset+file_check->length <=blocksize &&
+ memcmp(buffer + file_check->offset, file_check->value, file_check->length)==0)) &&
+ file_check->header_check(buffer, blocksize, 0, &file_recovery, &file_recovery_new)!=0)
+ {
+ file_recovery_new.file_stat=file_check->file_stat;
+ break;
+ }
+ }
+ }
+ if(file_recovery_new.file_stat!=NULL)
+ break;
+ }
+#if 0
+ if( file_recovery_new.file_stat!=NULL && file_recovery_new.file_stat->file_hint!=NULL &&
+ file_recovery_new.file_check!=NULL)
+ {
+ FILE *out;
+ file_recovery_new.file_size=Size;
+ file_recovery_new.calculated_file_size=Size;
+ out=fopen(filename, "wb");
+ fwrite(Data, Size, 1, out);
+ file_recovery_new.handle=out;
+ (file_recovery_new.file_check)(&file_recovery_new);
+ fclose(out);
+// unlink(filename);
+ }
+#endif
+ }
+ return 0; // Non-zero return values are reserved for future use.
+}
diff --git a/src/lang/qphotorec.it.ts b/src/lang/qphotorec.it.ts
index 155c679..2e4d7b6 100644
--- a/src/lang/qphotorec.it.ts
+++ b/src/lang/qphotorec.it.ts
@@ -143,12 +143,12 @@ detection, e installare gli aggiornamenti del sistema operativo e i driver del d
<message>
<location filename="src/qphotorec.cpp" line="538"/>
<source>&amp;Search</source>
- <translation type="unfinished"/>
+ <translation>&amp;Cerca</translation>
</message>
<message>
<location filename="src/qphotorec.cpp" line="541"/>
<source>&amp;About</source>
- <translation type="unfinished"/>
+ <translation>&amp;Info</translation>
</message>
<message>
<location filename="src/qphotorec.cpp" line="542"/>
@@ -194,12 +194,12 @@ detection, e installare gli aggiornamenti del sistema operativo e i driver del d
<message>
<location filename="src/qphotorec.cpp" line="750"/>
<source>File family</source>
- <translation type="unfinished"/>
+ <translation>famiglia dei file</translation>
</message>
<message>
<location filename="src/qphotorec.cpp" line="751"/>
<source>Number of files recovered</source>
- <translation type="unfinished"/>
+ <translation>numero dei file recuperati</translation>
</message>
<message>
<location filename="src/qphotorec.cpp" line="834"/>
diff --git a/src/lang/qphotorec.ja.ts b/src/lang/qphotorec.ja.ts
new file mode 100644
index 0000000..dd222e1
--- /dev/null
+++ b/src/lang/qphotorec.ja.ts
@@ -0,0 +1,252 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="ja" version="2.1">
+<context>
+ <name>QPhotorec</name>
+ <message>
+ <location filename="src/qphotorec.cpp" line="125"/>
+ <source>QPhotoRec</source>
+ <translation>QPhotoRec</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="156"/>
+ <location filename="src/qphotorec.cpp" line="518"/>
+ <source>Please select a destination to save the recovered files to.</source>
+ <translation>復元したファイルの保存先を選択してください。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="170"/>
+ <source>Please select a raw file</source>
+ <translation>元のファイルを選択してください。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="172"/>
+ <source>Raw Files (*.dd *.raw *.img)</source>
+ <translation>元ファイル (*.dd *.raw *.img)</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="259"/>
+ <source>Sys=</source>
+ <translation>Sys=</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="261"/>
+ <source>Unknown</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="377"/>
+ <source>No harddisk found</source>
+ <translation>ハードディスクが見つかりませんでした</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="379"/>
+ <source>No harddisk found
+You need to be administrator to use this program.
+Under Win9x, use the DOS version instead.
+Under Vista or later, select this program, right-click and choose &quot;Run as administrator&quot;.</source>
+ <translation>ハードディスクが見つかりませんでした。
+このプログラムを使用するには管理者権限が必要です。
+Win9x では代わりにDOS版を使ってください。
+Vista以降ではこのプログラムを選び、右クリックして「管理者として実行」を選んでください。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="388"/>
+ <source>No harddisk found
+You need to be root to use PhotoRec.</source>
+ <translation>ハードディスクが見つかりませんでした。
+PhotoRecを使うにはrootユーザになる必要があります。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="393"/>
+ <source>No Disk!</source>
+ <translation>ディスクがありません!</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="452"/>
+ <source>Add a raw disk image...</source>
+ <translation>復元元ディスクイメージを追加</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="458"/>
+ <source>PhotoRec is free software, and comes with ABSOLUTELY NO WARRANTY.</source>
+ <translation>PhotoRecは無料のソフトウェアで、一切の保証はありません。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="459"/>
+ <source>Please select a media to recover from</source>
+ <translation>復元元のメディアを選択してください</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="462"/>
+ <source>Disk capacity must be correctly detected for a successful recovery.
+If a disk listed above has an incorrect size, check HD jumper settings and BIOS
+detection, and install the latest OS patches and disk drivers.</source>
+ <translation>正しく復元するには正しいディスク容量が検知される必要があります。
+上に列挙されたディスクに正しくない容量が表示されていたら、ハードディスクのジャンパ設定とBIOSで検知されている内容を確認し、最新のOSパッチとディスクドライバをインストールしてください。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="469"/>
+ <source>Flags</source>
+ <translation>フラグ</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="470"/>
+ <source>Type</source>
+ <translation>タイプ</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="471"/>
+ <source>File System</source>
+ <translation>ファイルシステム</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="472"/>
+ <source>Size</source>
+ <translation>サイズ</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="473"/>
+ <source>Label</source>
+ <translation>ラベル</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="488"/>
+ <source>File System type</source>
+ <translation>ファイルシステムの種類</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="489"/>
+ <source>ext2/ext3/ext4 filesystem</source>
+ <translation>ext2/ext3/ext4 ファイルシステム</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="490"/>
+ <source>FAT/NTFS/HFS+/ReiserFS/...</source>
+ <translation>FAT/NTFS/HFS+/ReiserFS/...</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="494"/>
+ <source>Free: Scan for file from unallocated space only</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="495"/>
+ <source>Whole: Extract files from whole partition</source>
+ <translation>すべて: すべてのパーティションからファイルを抽出する</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="522"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;参照</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="538"/>
+ <source>&amp;Search</source>
+ <translation>&amp;検索</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="541"/>
+ <source>&amp;About</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="542"/>
+ <source>&amp;File Formats</source>
+ <translation>&amp;ファイルフォーマット</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="642"/>
+ <source>Destination:</source>
+ <translation>復元先</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="647"/>
+ <source>Recovery completed</source>
+ <translation>復元完了</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="652"/>
+ <source>Bruteforce %1 sectors remaining (test %2)</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="660"/>
+ <source>Pass %1 - Reading sector %2/%3</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="665"/>
+ <source>%1/10 headers found</source>
+ <translation>%1/10 ヘッダーが見つかりました</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="667"/>
+ <source>%1 files found</source>
+ <translation>%1 個のファイルが見つかりました。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="540"/>
+ <location filename="src/qphotorec.cpp" line="762"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;終了</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="750"/>
+ <source>File family</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="751"/>
+ <source>Number of files recovered</source>
+ <translation>復元したファイルの数</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="834"/>
+ <source>QPhotoRec: Failed to create file!</source>
+ <translation>QPhotoRec: ファイル作成に失敗しました!</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="835"/>
+ <source>Failed to create file! Please choose another destination</source>
+ <translation>ファイルの作成に失敗しました! 別の保存先を選んでください。</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="854"/>
+ <source>QPhotoRec: Not enough space!</source>
+ <translation>QPhotoRec: 十分な空き容量がありません!</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="855"/>
+ <source>There is not enough space left! Please free disk space and/or choose another destination</source>
+ <translation>十分な空き容量がありません! ディスクの空き容量を増やすかまたは別の復元先を指定してください</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="924"/>
+ <source>QPhotoRec is is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
+
+QPhotoRec is is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with QPhotoRec. If not, see &lt;http://www.gnu.org/licenses/&gt;.</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="925"/>
+ <source>QPhotoRec: About</source>
+ <translation type="unfinished"/>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="954"/>
+ <source>File Formats</source>
+ <translation>ファイルフォーマット</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="957"/>
+ <source>&amp;Reset</source>
+ <translation>&amp;リセット</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="958"/>
+ <source>Res&amp;tore</source>
+ <translation type="unfinished"/>
+ </message>
+</context>
+</TS>
diff --git a/src/lang/qphotorec.tr.ts b/src/lang/qphotorec.tr.ts
new file mode 100644
index 0000000..9b49693
--- /dev/null
+++ b/src/lang/qphotorec.tr.ts
@@ -0,0 +1,257 @@
+<?xml version="1.0" ?><!DOCTYPE TS><TS language="tr" version="2.1">
+<context>
+ <name>QPhotorec</name>
+ <message>
+ <location filename="src/qphotorec.cpp" line="125"/>
+ <source>QPhotoRec</source>
+ <translation>QPhotoRec</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="156"/>
+ <location filename="src/qphotorec.cpp" line="518"/>
+ <source>Please select a destination to save the recovered files to.</source>
+ <translation>Lütfen kurtarılan dosyaların kaydedeceği konumu seçin.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="170"/>
+ <source>Please select a raw file</source>
+ <translation>Lütfen ham (raw) dosyayı seçin.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="172"/>
+ <source>Raw Files (*.dd *.raw *.img)</source>
+ <translation>Ham (Raw) Dosyalar (*.dd *.raw *.img)</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="259"/>
+ <source>Sys=</source>
+ <translation>Sys=</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="261"/>
+ <source>Unknown</source>
+ <translation>Bilinmiyor</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="377"/>
+ <source>No harddisk found</source>
+ <translation>Sabitdisk bulunamadı.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="379"/>
+ <source>No harddisk found
+You need to be administrator to use this program.
+Under Win9x, use the DOS version instead.
+Under Vista or later, select this program, right-click and choose &quot;Run as administrator&quot;.</source>
+ <translation>Sabitdisk bulunamadı.
+Programı kullanmak için yönetici haklarına sahip olmalısınız.
+Win9x sürümlerinde DOS versiyonu kullanınız.
+Vista ve sonraki sürümlerde program simgesinin üstünde sağ tıklayın, ve &quot;Yönetici olarak çalıştır&quot;ı seçin.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="388"/>
+ <source>No harddisk found
+You need to be root to use PhotoRec.</source>
+ <translation>Sabitdisk bulunamadı.
+PhotoRec&apos;i kullanmanız için &quot;root&quot; kullanıcısı olmalısınız.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="393"/>
+ <source>No Disk!</source>
+ <translation>Disk yok</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="452"/>
+ <source>Add a raw disk image...</source>
+ <translation>Ham (Raw) disk imajı ekleyin</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="458"/>
+ <source>PhotoRec is free software, and comes with ABSOLUTELY NO WARRANTY.</source>
+ <translation>PhotoRec ücresiz bir yazılımdır ve verilerin kurtarılması konusunda herhangi bir garanti vermez.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="459"/>
+ <source>Please select a media to recover from</source>
+ <translation>Lütfen kurtarılmasını istediğiniz ortamı seçin</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="462"/>
+ <source>Disk capacity must be correctly detected for a successful recovery.
+If a disk listed above has an incorrect size, check HD jumper settings and BIOS
+detection, and install the latest OS patches and disk drivers.</source>
+ <translation>Başarılı bir kurtarma için disk boyutu doğru tesbit edilmelidir.
+Eğer aşağıdaki listedeki bir disk yanlış boyutta belirlenmişse disk jumper ayarını ve BIOS&apos;taki görünümünü kontrol edin, işletim sisteminin ve sürücülerin en son güncellemelerini yapın.
+ </translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="469"/>
+ <source>Flags</source>
+ <translation>İşareti</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="470"/>
+ <source>Type</source>
+ <translation>Tipi</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="471"/>
+ <source>File System</source>
+ <translation>Dosya Sistemi</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="472"/>
+ <source>Size</source>
+ <translation>Boyutu</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="473"/>
+ <source>Label</source>
+ <translation>Etiketi</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="488"/>
+ <source>File System type</source>
+ <translation>Dosya Sistemi türü</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="489"/>
+ <source>ext2/ext3/ext4 filesystem</source>
+ <translation>ext2/ext3/ext4 dosya sistemleri</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="490"/>
+ <source>FAT/NTFS/HFS+/ReiserFS/...</source>
+ <translation>FAT/NTFS/HFS+/ReiserFS/...</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="494"/>
+ <source>Free: Scan for file from unallocated space only</source>
+ <translation>Boş alan: Sadece bir disk olarak tanımlanmamış alanı tara</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="495"/>
+ <source>Whole: Extract files from whole partition</source>
+ <translation>Tamamı: Tüm bölümden dosyaları çıkart</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="522"/>
+ <source>&amp;Browse</source>
+ <translation>&amp;Gözat</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="538"/>
+ <source>&amp;Search</source>
+ <translation>&amp;Ara</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="541"/>
+ <source>&amp;About</source>
+ <translation>&amp;Hakkında</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="542"/>
+ <source>&amp;File Formats</source>
+ <translation>&amp;Dosya Formatları</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="642"/>
+ <source>Destination:</source>
+ <translation>Hedef:</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="647"/>
+ <source>Recovery completed</source>
+ <translation>Kurtarma tamamlandı</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="652"/>
+ <source>Bruteforce %1 sectors remaining (test %2)</source>
+ <translation>Bruteforce %1 sektör kaldı (test %2)</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="660"/>
+ <source>Pass %1 - Reading sector %2/%3</source>
+ <translation>Tamamlanan %1 - Okunan sektör %2/%3</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="665"/>
+ <source>%1/10 headers found</source>
+ <translation>%1/10 kafa bulundu</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="667"/>
+ <source>%1 files found</source>
+ <translation>%1 dosya bulundu</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="540"/>
+ <location filename="src/qphotorec.cpp" line="762"/>
+ <source>&amp;Quit</source>
+ <translation>&amp;Çıkış</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="750"/>
+ <source>File family</source>
+ <translation>Dosya ailesi</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="751"/>
+ <source>Number of files recovered</source>
+ <translation>Kurtarılan dosya sayısı</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="834"/>
+ <source>QPhotoRec: Failed to create file!</source>
+ <translation>QPhotoRec: Dosya oluşturulamadı</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="835"/>
+ <source>Failed to create file! Please choose another destination</source>
+ <translation>Dosya oluşturulamadı! Lütfen başka bir konum seçin.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="854"/>
+ <source>QPhotoRec: Not enough space!</source>
+ <translation>QPhotoRec: Yeterli alan yok!</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="855"/>
+ <source>There is not enough space left! Please free disk space and/or choose another destination</source>
+ <translation>Diskte yeterli alan kalmadı! Lütfen diskte boş alan açın ve/veya başka bir hedef disk seçin.</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="924"/>
+ <source>QPhotoRec is is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.
+
+QPhotoRec is is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with QPhotoRec. If not, see &lt;http://www.gnu.org/licenses/&gt;.</source>
+ <translation>QPhotoRec özgür bir yazılımdır: Özgür Yazılım Vakfı tarafından yayınlanan GNU Genel Kamu Lisansı (Lisans versiyon 2 ve sonrası) kurallarınca değiştirebilir ve/veya dağıtabilirsiniz.
+
+QPhotoRec işe yarayacağı öngörüsü ile dağıtılmıştır fakat; TİCARİ DEĞERİ olduğuna ya da ÖZEL BİR AMACA UYGUN olması konusunda herhangi bir imada bile BULUNMADIĞI gibi verilerinizin kurtarılması konusunda da herhangi bir GARANTİ VERMEZ. Daha detaylı bilgi için GNU Genel Kamu Lisansı&apos;nı inceleyin.
+
+QPhotoRec ile birlikte GNU Genel Kamu Lisansı&apos;nın bir kopyasını almış olmalısınız. Eğer yoksa &lt;http://www.gnu.org/licenses/&gt; .</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="925"/>
+ <source>QPhotoRec: About</source>
+ <translation>QPhotoRec: Hakkında</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="954"/>
+ <source>File Formats</source>
+ <translation>Dosya Türleri</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="957"/>
+ <source>&amp;Reset</source>
+ <translation>&amp;Hiçbiri</translation>
+ </message>
+ <message>
+ <location filename="src/qphotorec.cpp" line="958"/>
+ <source>Res&amp;tore</source>
+ <translation>&amp;Tümü</translation>
+ </message>
+</context>
+</TS>