Scalpelは、2005年に歴史を開始したForemostプロジェクト(バージョン0.69以降)の分岐点です。 独自のgithubリポジトリを備えており、データ回復速度と効率の点でForemostよりも高速です。 これら2つのプロジェクトの違いについて言えば、バージョン0.69以降にリリースされたForemostには、新しいセマンティックデータリカバリ技術が備わっていると言えます。 たとえば、JPEGファイルを復元する場合、Scalpelが指定された完了の署名と画像ファイルの先頭の間でデータを取得するだけで、このファイルのヘッダーを使用して対応する画像本文を計算します。 したがって、Scalpelがはるかに高速に処理を行うと、Foremostは失われたデータをより正確に回復できると言えます。
Scalpelが提供する機能:
- ファイルシステムに依存しない回復
- 復元されたファイルの最小サイズと最大サイズの設定
- マルチコアシステムでのマルチスレッドの使用
- テンプレートによる検索時に増加する非同期I / O操作
- TRE正規表現を使用して、ファイルの先頭と末尾で検索する
- ネストされたデータ構造から回復する機能
- GPUを使用する可能性は、オタクでも利用可能です。これは、Linuxでのみ利用可能で、プリインストールされたNVIDIA CUDA SDKとソースコードの小さな修正が必要です(正規表現を使用した検索はGPUでは機能しません)
Scalpelは通常、対応するLinuxディストリビューションのパッケージから入手できますが、github リポジトリから選択することで、原料から収集することもできます 。
アプリケーションは/etc/scalpel/scalpel.confファイルで構成され、適切なファイル検索テンプレートが設定されます。 その中には、画像やドキュメントファイルなどで検索するための既製のプリセットがあります。 失われたデータを回復するには、対応するテンプレートのコメントを外して、アプリケーションを実行します。
ファイルに目的のファイルのテンプレートが含まれていない場合、または特定のxml形式を探している場合など、独自のテンプレートを作成する必要があります。これについては、以下のルールと同様に説明します
種類 | 大文字と小文字を区別 | サイズ範囲 | ヘッダー | フッター | 検索オプション |
---|---|---|---|---|---|
avi | y | 50,000,000 | RIFF ???? AVI | ||
doc | y | 10,000,000 | \ xd0 \ xcf \ x11 \ xe0 \ xa1 \ xb1 \ x1a \ xe1 \ x00 \ x00 | \ xd0 \ xcf \ x11 \ xe0 \ xa1 \ xb1 \ x1a \ xe1 \ x00 \ x00 | 次へ |
y | 500,000 | %EOF \ x0d | 逆 | ||
y | 500,000 | %EOF \ x0a | リバース | ||
テックス | y | 300:50,000 | /%.{1,20►\.tex/ | /%.{1,20►\.tex\sEnd/ | |
php | y | 100,000 | <?php | ?> | リバース |
- タイプ -プログラムのコンテキストでのみ重要であり、復元されるファイルとは関係なく、復元されたデータのログとディレクトリ名を表示する場合にのみ使用されます。 指定することはできません。この場合は、NONEを入れるだけです。
- 大文字と小文字を区別 -特定のパターンを検索するときに大文字と小文字を区別するかどうか
- サイズの範囲 -数値のみを指定した場合、検索するファイルの最大サイズ、コロンを介した場合はmin:最大ファイルサイズ
- ヘッダー 、 フッター -ファイルの始まりと終わりを見つけるためのテンプレート。 TRE正規表現の使用は許容されます。 \ s文字はスペースとして使用されます。また、探しているデータの16進表現と8進表現を使用することもできます。たとえば、\ x [0-f] [0-f]または\ [0-3] [0-7] [0-7]
最後の検索オプションフィールドとして、次の値が有効であることに注意することが重要です。
- REVERSE-ファイルで複数の後続パターンを使用できる場合、このパラメーターを使用する必要があります。 たとえば、<?Php ...?>で囲まれたいくつかのスクリプトがあるPDFファイルまたはPHP
- NEXT-ファイルの先頭から最初の完了までの間にデータを取得する必要がある場合に使用されます。ファイルの末尾が見つからない場合は、サイズフィールドで指定されたサイズの領域が取得されます
- FORWARD_NEXT-これは標準の動作であり、その仕様はオプションです。 このオプションでは、テンプレートの厳密なチェックが行われ、指定されたメモリサイズでファイルの先頭が見つかり、その補完が見つからない場合、プログラムの起動時に-bオプションが指定されていない限り、このセクションは検索結果から除外され、対応する先頭の指定サイズのセクションが取得されます、アプリケーションのログ[audit.txt]には、切り取られたファイルに関する情報が書き込まれます(列のチョップ)
ご注意
疑問符「?」を使用する必要がある場合 ヘッダーまたはファイルの末尾の目的の値として、ワイルドカード記号(疑問符)を再定義する必要があります。 これを行うには、構成ファイルの先頭に書き込みます
ワイルドカードSここで、Sは検索式の新しいワイルドカードシンボルであるか、このシンボルの16進表現を使用します。これは\ 0x3fまたは\ 063と同等
今すぐ練習
上の表のテンプレートで説明されているファイルを削除したとします。 これらのパターンを構成ファイルに書き込み(タブ文字は列の区切りとして使用されます)/etc/scalpel/scalpel.confからリカバリを開始します(リカバリ用のデータを含むイメージを事前に準備しました)
root# scalpel MyDrive.img -o recover Written by Golden G. Richard III, based on Foremost 0.69. Opening target "/home/username/Documents/repair_files/test/MyDrive.img" Image file pass 1/2. MyDrive.img: 100.0% |*****************************************************| 500.0 MB 00:00 ETA Allocating work queues... Work queues allocation complete. Building carve lists... Carve lists built. Workload: avi with header "\x52\x49\x46\x46\x3f\x3f\x3f\x3f\x41\x56\x49" and footer "" --> 1 files doc with header "\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00" and footer "\xd0\xcf\x11\xe0\xa1\xb1\x1a\xe1\x00\x00" --> 2 files pdf with header "\x25\x50\x44\x46" and footer "\x25\x45\x4f\x46\x0d" --> 33 files pdf with header "\x25\x50\x44\x46" and footer "\x25\x45\x4f\x46\x0a" --> 19 files php with header "\x3c\x3f\x70\x68\x70" and footer "\x3f\x3e" --> 8 files Carving files from image. Image file pass 2/2. MyDrive.img: 100.0% *****************************************************| 500.0 MB 00:00 ETA Processing of image file complete. Cleaning up... Done. Scalpel is done, files carved = 63, elapsed = 6 seconds.
結果のフォルダで実行が完了すると、見つかったファイルとaudit.txtが見つかります。このファイルには、次のようなファイルに関する簡単な情報があります。
Scalpel version 1.60 audit file Started at Wed Jan 7 12:50:52 2015 Command line: scalpel MyDrive.img -o recover Output directory: /home/username/Documents/repair_files/test/recover Configuration file: /etc/scalpel/scalpel.conf Opening target "/home/username/Documents/repair_files/test/MyDrive.img" The following files were carved: File Start Chop Length Extracted From 00000003.pdf 549888 NO 4162 MyDrive.img 00000055.php 1227776 NO 99954 MyDrive.img 00000001.doc 8916992 YES 10000000 MyDrive.img
また、いくつかの利用可能なオプションに注意してください。
-pこのオプションを使用すると、ファイルは復元されませんが、どのファイルが復元されるかを確認できる監査ファイルが作成されます
-qこのオプションを指定すると、メスは指定されたサイズの各クラスターの先頭のみをスキャンし、検索対象のファイルの対応する先頭を検索します
-v詳細モード
-oデータ回復結果が置かれるディレクトリを指定します
すべての人に成功したデータ復旧!
便利なリンク