web-dev-qa-db-ja.com

ファイルの回復署名なし(マジック番号)

ファイルヘッダー/フッター、署名が変更/変更された場合、ファイルをディスクイメージ(DDイメージ)からファイルを回復することは可能ですか?

たとえば、ビットマップイメージの署名(0x42 0x4D)または最初の30バイトが削除または変更された場合はどういう意味ですか?

いない場合は、ファイル署名に基づいてそのファイルを回復する方法は何ですか?それがどのようにして行われているのであれば?

2
Szymon Krawczyk

代わりに残余ファイルシステム構造を分析できます。

たとえば、 FileSystemsのFATファミリ ファイル名が、バイト値0x3Fのディレクトリエントリ内のファイル名の最初のバイトをオーバーライトすることによってファイルを削除したことを示します。残りのメタデータ(ほとんどのファイル名を含む)は削除直後にありますので、オペレーティングシステムを介してではなく直接ディスクにアクセスするプログラムはファイルを簡単に見つけることができます。 。

他のファイルシステムは似ていますが、一般的に情報が少ないですが、FATファミリは特にファイルを回復するのが簡単です。

1
Mark

あなたが探すべきこととどこに見えるかについてのいくつかのアイデアを持っていたなら、あなたはできます。ビットマップ(非圧縮)は特定の統計プロパティを持ち、それを再構築することができるかもしれません。

画像幅の可能性の高い範囲を事前に知ることは、例えば非常に有益であろう。その近似色度も知っているでしょう。

本当の問題は、ファイル自体が連続的なセクターに分類される可能性があり、それを一緒に置くために必要な情報も消去された可能性があります。単一のファイルシステムクラスタに収まるのに十分小さいビットマップは、最高のチャンスを持ちます。

考慮されるべきもう1つの非常に本当の可能性は、最初のバイトを消去したものも残りのものを消去したか、またはその大幅な部分をあったことであり、すべてが可能な限り回復が不要になります。

非圧縮DIBビットマップの回復を試みるために、値がトリプレットで変わるプロパティ(すなわち、nバイトのシーケンスが与えられた場合、Index Modulo 3で撮影されたピクセル間の相関が任意のものよりもかなり高く)のバイトシーケンスを探します。その他のインデックスは3つの倍数ではありません。その後、4つの倍数に丸みを帯びた行幅である上位索引で同様の相関が存在するかどうかを確認します。行の開始/停止を決定するには、より多くの分析が必要です。

特定のケースの詳細(ファイルシステム、実際のビットマップフォーマット、ビットマップサイズ、削除/上書きされた方法、DDイメージサイズ、操作の理由)、私はあなたに与えることができませんでした。回復の可能性に関する「おそらく」。

0
LSerni