PhotoRec

PhotoRecは、自由かつオープンソースのデータ回復ユーティリティソフトウェアである。テキストユーザインタフェースを持ち、ファイルカービング(英語版)の技術を用いて、デジタルカメラのメモリーカード、HDD、CD-ROMなど様々な媒体から消去されたファイルを回復することができる。480以上のファイル拡張子(約300種類のファイル)に対応している。 マイナーな種類のファイルを発見するためにファイルシグネチャを追加することも可能である。 PhotoRecはユーザーが回復しようとしている媒体には書き込まない。回復されたファイルはPhotoRecが動作しているディレクトリか、ユーザーの選択したディレクトリに書き込まれる。データ回復やデジタル・フォレンジクスにおいて使用することが可能である。 PhotoRecはTestDiskに同梱されている。 FAT, NTFS, ext2/ext3/ext4といったファイルシステムは データブロックにファイルを保存する (Windowsではデータクラスタ)。ブロックやクラスタのセクタ数は、ファイルシステムのフォーマット後は一定である。一般的にほとんどのオペレーティングシステムは、データのフラグメンテーションを最小限にするために、データを隣接させて保存しようとする(ドライブのシークにかかる時間はHDDに書き込む・読み込む時間に大きな影響があるため、フラグメンテーションを最小限にするのは重要である)。 ファイルが削除されたときは、ファイルのメタデータ (ファイル名、日時、サイズ、ブロックやクラスタの位置など)が失われる。たとえば、ext3やext4においては、ファイル名は消去されないが、ファイルの位置する最初のデータブロック の情報が失われる。すなわち、新しいファイルのデータによって上書きされるまでは、ファイルシステム上に削除されたファイルのデータは残っている。 「失われた」ファイルを回復するために、PhotoRecは最初にデータブロック(クラスタ)のサイズを見つけようとする。ファイルシステムが壊れていなければ、その数字はスーパーブロック(ext2/ext3/ext4)やボリュームブートレコード(FAT, NTFS)から読み取れる。読み取れない場合、PhotoRecは媒体をセクタごとに読み込み、最初の10ファイルを見つけることで、その位置からブロック(クラスタ)のサイズを計算する。ブロックサイズを知ることができたら、PhotoRecはブロック(クラスタ)ごとに媒体を読んでいく。それぞれのブロックをファイルシグネチャのデータベースに照らし合わせる(このデータベースはPhotoRecに付属している。PhotoRecの最初のバージョン以来、回復できるファイルのタイプは増え続けている)。これはファイルカービング(英語版)と呼ばれる一般的なデータ回復の方法である。 たとえば、PhotoRecはブロックが次のデータで始まっているときにJPEGファイルと判断する。 Start Of Image + APP0: 0xff, 0xd8, 0xff, 0xe0 Start Of Image + APP1: 0xff, 0xd8, 0xff, 0xe1 or Start Of Image + Comment: 0xff, 0xd8, 0xff, 0xfe もしPhotoRecがこの前でファイル回復を始めていた場合、いったんそれを中止し、可能であればファイルの整合性をチェックしてから新しい(発見したファイルシグネチャから判断されたタイプの)ファイルの保存を開始する。 データが断片化していなければ、回復されたファイルはもとのファイルと同じサイズ(もしくはもとより大きいサイズ)になるはずである。PhotoRecがもとのファイルサイズをファイルのヘッダーから判断できた場合、回復されたファイルは正しいサイズに切り詰められる。もしヘッダーの示すサイズよりも回復したファイルが小さい場合、そのファイルは捨てられる。 MP3などのファイルはデータストリームである。この場合、PhotoRecは回復されたデータを解析し、ストリームが終了した場所で回復を終了する。 ファイルの回復が成功したあと、PhotoRecは以前のデータブロックの中で、ファイルシグネチャを発見したが回復に失敗したもの (回復したファイルのサイズが小さすぎたものなど)をチェックし、もう一度回復しようとする。これによって、断片化されたファイルのいくつかは回復に成功する可能性がある。 PhotoRecはもとのファイル名を復元しないが、たとえばexiftoolを用いればJPEGのファイル名を復元できる。 https://www.cgsecurity.org/testdisk_doc/after_using_photorec.html#renaming-files-using-exiftool PhotoRec (Testdisk) はAutopsy(英語版) やWondershare RecoverItなどのソフトウェアに同梱されている。 PhotoRecは以下の環境下で動作する。 DOS Microsoft Windows: NT4, 2000, XP, 2003, 2008, 2016, Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 11 Linux FreeBSD, NetBSD, OpenBSD SunOS macOS ARM PhotoRecとTestDiskは同梱されている。 CGSecurityのサイトからダウンロードできる。また、以下のいくつかのLinux Live CDsにも含まれている。 GParted Live CD Parted Magic(英語版) Slax-LFI, a Slax-derived distribution SystemRescueCD(英語版) Ubuntu Rescue Remix, an Ubuntu derivation 以下のように、多くの Unix系ディストリビューションのパッケージにも含まれている。 ALT Linux(英語版) Arch Linux Extra Repository Debian contrib Fedora Extras Red Hat Epel FreeBSD port OpenBSD port Gentoo and Gentoo Portage Mandriva contrib Source Mage(英語版) Linux Ubuntu Photo recovery(英語版) List of free and open-source software packages(英語版) File recovery(英語版) ^ “File Formats Recovered by PhotoRec” (2015年4月). Template:Cite webの呼び出しエラー：引数 accessdate は必須です。 ^ “Add your own extension to PhotoRec” (2016年5月18日). Template:Cite webの呼び出しエラー：引数 accessdate は必須です。 ^ Jack Wiles, Kevin Cardwell, Anthony Reyes (2007). The best damn cybercrime and digital forensics book period, p. 220. Syngress Publishing Inc. ISBN 978-1-59749-228-7. ^ Cameron H. Malin, Eoghan Casey, James M. Aquilina (2008). Malware Forensics: Investigating and Analyzing Malicious Code, p. xxviii. Syngress Publishing Inc. ISBN 978-1-59749-268-3. ^ Nathan Clarke (2010), Computer Forensics: A Pocket Guide, p. 67. IT Governance Publishing. ISBN 978-1-84928-039-6. ^ NIST Test Results for Graphic File Carving Tool: PhotoRec v7.0-WIP[リンク切れ]. ^ NIST Test Results for Video File Carving Tool: PhotoRec v7.0-WIP Archived 2015-04-22 at Archive.is. ^ Scott Mueller, Brian Knittel (2008). Upgrading and Repairing Microsoft Windows, Second Edition, page 685. Pearson Education Inc. ISBN 978-0-7897-3695-6. ^ “PhotoRec - CGSecurity”. 2013年3月1日閲覧。 ^ “GParted -- Live CD/USB/PXE/HD”. 2013年3月1日閲覧。 ^ “programs – Parted Magic”. 2011年1月2日時点のオリジナルよりアーカイブ。2013年3月1日閲覧。 ^ “Recover file with PhotoRec”. 2013年5月2日時点のオリジナルよりアーカイブ。2013年3月1日閲覧。 ^ “System-tools - SystemRescueCd”. 2013年3月1日閲覧。 ^ “Software Ubuntu Rescue Remix”. 2013年1月23日時点のオリジナルよりアーカイブ。2013年3月1日閲覧。 ^ “TestDisk on ALT Linux”. 2011年8月11日時点のオリジナルよりアーカイブ。2011年5月25日閲覧。 ^ TestDisk in Fedora Archived 2011-03-10 at the Wayback Machine. ^ “RepoView: "Fedora EPEL 6 - x86_64"”. 2015年9月13日時点のオリジナルよりアーカイブ。2013年7月27日閲覧。 ^ TestDisk in FreeBSD ports ^ TestDisk in OpenBSD ports ^ TestDisk in Gentoo ^ TestDisk in Gentoo Portage Archived 2011-06-07 at the Wayback Machine. ^ TestDisk in Source Mage Archived 2011-05-19 at the Wayback Machine. ^ “Delete Hui Photo Waapas Kese Laaye || डिलीट हुई फ़ोटो वापस कैसे लाए 2 मिनट में ?”. 2019年6月8日時点のオリジナルよりアーカイブ。2019年6月8日閲覧。 公式ウェブサイト