HFS Journal Parser EnScriptはHFS+/HFSXファイルシステムの.journalファイルをパースするEnScriptです。
HFS Journal Parserは以下のURLから入手可能です。
このEnScriptはEnCase App Centralに掲載されていますので、入手するためにはEnCase App Central用のアカウントを作成する必要があります。アカウントは無料で作成できます。
動作環境
EnCase 7.x (6.xでは動作しません)
特徴
- HFS+/HFSXファイルシステムのジャーナル内のファイルレコード検索(Intel Mac系のみサポート)
- 発見したファイルレコードのリスト生成
- 削除済ファイルの復元(未使用ブロックであった場合に復元)
- 部分的に上書きされたファイルの復元(上書きブロックは0x00に書き換えて復元)
- 直近のジャーナルから順に処理、復元し、重複および不必要なレコード、結果は除外
簡単な説明
HFS+/HFSXファイルシステムでジャーナル機能が有効になっている場合には「.journal」ファイルが存在します。同ファイルのファイルID(カタログノードID)は通常16であり、ファイルサイズは最低8MBあります。
ジャーナルは突然の電源断等においてもファイルシステムの整合性を保つための仕組みです。「.journal」はファイルシステムで発生した変更処理(トランザクション)を記録するための領域であり、データ部分は記録せずにメタデータ部分のみを記録していきます。HFS Journal Parser EnScriptは「.journal」ファイルを探索してカタログファイルレコード構造(HFS+/HFSXにおけるメタデータを管理するデータ構造)を特定します。特定した結果とサマリ情報はブックマークします。
また、実行時の「Output Folder Path」に指定したフォルダ配下にいくつかのファイルを出力/エクスポートします。
カタログファイルレコードの情報に基づき、復元可能なファイルが見つかった場合、各ファイルが参照しているブロック内のコンテンツを抽出してファイルとして生成します。
ファイルが参照しているブロックの内で一部が別のファイルによって上書きされていた場合、その部分は0x00のパターンで埋めて未使用状態となっているブロックのコンテンツはそのまま抽出、連結します。このように部分的に復元することによって、ネイティブアプリケーションや破損に耐性のあるアプリケーションを使うことによりある程度の復元が可能となります。
補足
HFS Journal ParserはOS XのHFS+/HFSXを想定しています。File Vault2やTrueCryptなどで暗号化されたボリュームであっても、EnCase上で復号した状態で扱うことにより、HFS Journal Parserも問題なく実行することができます。一方で、iOSのHFSXではファイル単位の暗号化の仕組みが導入されているため、本EnScriptではコンテンツ部を正しく復元することはできません(メタデータ部分のリスト作成は問題ないと思います)。iOSのイメージを扱う場合にはiphone-dataprotection(http://code.google.com/p/iphone-dataprotection/)のemf_undeleteコマンドをお奨めします。
参考情報
Using the HFSD journal for deleted file recovery
http://www.dfrws.org/2008/proceedings/p76-burghardt.pdf
Technical Note TN1150 - HFS Plus Volume Format
http://developer.apple.com/legacy/library/#technotes/tn/tn1150.html