EnScriptはHFS+/HFSXファイルシステムの.journalファイルをパースするEnScriptです。Parserは以下のURLから入手可能です。Central用のアカウントを作成する必要があります。アカウントは無料で作成できます。簡単な説明HFS+/HFSXファイルシステムでジャーナル機能が有効になっている場合には「.journal」ファイルが存在します。同ファイルのファイルID(カタログノードID)は通常16であり、ファイルサイズは最低8MBあります。ジャーナルは突然の電源断等においてもファイルシステムの整合性を保つための仕組みです。「.journal」はファイルシステムで発生した変更処理(トランザクション)を記録するための領域であり、データ部分は記録せずにメタデータ部分のみを記録していきます。EnScriptは「.journal」ファイルを探索してカタログファイルレコード構造(HFS+/HFSXにおけるメタデータを管理するデータ構造)を特定します。特定した結果とサマリ情報はブックマークします。Path」に指定したフォルダ配下にいくつかのファイルを出力/エクスポートします。カタログファイルレコードの情報に基づき、復元可能なファイルが見つかった場合、各ファイルが参照しているブロック内のコンテンツを抽出してファイルとして生成します。ファイルが参照しているブロックの内で一部が別のファイルによって上書きされていた場合、その部分は0x00のパターンで埋めて未使用状態となっているブロックのコンテンツはそのまま抽出、連結します。このように部分的に復元することによって、ネイティブアプリケーションや破損に耐性のあるアプリケーションを使うことによりある程度の復元が可能となります。XのHFS+/HFSXを想定しています。Parserも問題なく実行することができます。一方で、iOSのHFSXではファイル単位の暗号化の仕組みが導入されているため、本EnScriptではコンテンツ部を正しく復元することはできません(メタデータ部分のリスト作成は問題ないと思います)。iOSのイメージを扱う場合にはiphone-dataprotection(http://code.google.com/p/iphone-dataprotection/)のemf_undeleteコマンドをお奨めします。