Amazon Best VPN GoSearch

OnWorksファビコン

magicrescue - クラウド上のオンライン

Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、またはMACOSオンラインエミュレーターを介してOnWorks無料ホスティングプロバイダーでmagicrescueを実行します

これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドmagicrescueです。

プログラム:

NAME


magicrescue-ブロックデバイスをスキャンし、magicを調べて既知のファイルタイプを抽出します
バイト

SYNOPSIS


マジレスキュー [ オプション ] デバイス

DESCRIPTION


マジックレスキューが開きます デバイス 読み取るために、回復する方法を知っているファイルタイプについてそれらをスキャンします
外部プログラムを呼び出してそれらを抽出します。 ファイル内の「マジックバイト」を調べます
コンテンツなので、削除解除ユーティリティとしても、破損したものを回復するためにも使用できます。
ドライブまたはパーティション。 どのファイルシステムでも機能しますが、非常に断片化されたファイルシステムでは機能します
各ファイルの最初のチャンクのみを回復できます。 これらのチャンクは50MBにもなることがありますが、
しかし。

呼び出す マジレスキュー、少なくともXNUMXつのデバイスとを指定する必要があります -d   -r オプション。
開始するには、このマニュアルの「使用法」セクションを参照してください。

OPTIONS


-b ブロック化する
デフォルト:1。これは指示します マジレスキュー で始まるファイルのみを検討する
の倍数 ブロック化する 口論。 このオプションはレシピにのみ適用されます
それに続いて、それを複数回指定することによって、それを使用して異なるものを得ることができます
さまざまなレシピの動作。

このオプションを使用すると、通常はパフォーマンスを向上させることができますが、ファイル数は少なくなります
見つかった。 特に、先頭にゴミが含まれているファイル(多くのmp3ファイルなど)とファイル
他のファイルに含まれているものはスキップされる可能性があります。 また、一部のファイルシステム
小さなファイルをブロック境界に揃えないでください。そうすれば、これらのファイルはこのように見つかりません。
どちらか。

ファイルシステムのブロックサイズがわからない場合は、値512を使用してください。
ほとんどの場合、ハードウェアセクターのサイズ。

-d ディレクトリにジョブを開始します。
必須。 見つかったファイルの出力ディレクトリ。 あなたがたくさんの無料を持っていることを確認してください
このディレクトリ内のスペース、特に次のような非常に一般的なファイルタイプを抽出する場合
jpegまたはgzipファイル。 また、ファイルシステムが数千を処理できることを確認してください
単一のディレクトリ内のファイル。つまり、多数のファイルを抽出する場合はFATを使用しないでください。

試しているのと同じブロックデバイスに出力ディレクトリを配置しないでください
からファイルをレスキューします。 これにより、同じファイルがブロックデバイスに追加される可能性があります
現在の読み取り位置、原因 マジレスキュー 同じファイルをもう一度見つけるには
後で。 理論上の最悪の場合、これにより同じファイルでループが発生する可能性があります
ディスク容量がなくなるまで、何千回も抽出されます。 あなたも可能性が高い
そもそも探していた削除済みファイルを上書きします。

-r レシピ
必須。 レシピ名、ファイル、またはディレクトリ。 これをプレーンネームとして指定します
(例:「jpeg-jfif」)またはパス(例: レシピ/jpeg-jfif)。 そのようなものが見つからない場合
現在のディレクトリにあるファイルは、 ./レシピ  
/ usr / share / magicrescue / recipes.

If レシピ はディレクトリであり、そのディレクトリ内のすべてのファイルはレシピとして扱われます。

ブラウズ / usr / share / magicrescue / recipes レシピが何であるかを確認するためのディレクトリ
利用可能。 レシピはテキストファイルであり、その中のコメントを読む必要があります
使用する前に。 レシピをそのまま使用するか、どこかにコピーして変更します
ボーマンは

独自のレシピを作成する方法については、「レシピ」セクションを参照してください。

-I file
から入力ファイルを読み取ります file コマンドラインにリストされているものに加えて。 もしも
file は「-」で、標準入力から読み取られます。 各行はファイルとして解釈されます
名前。

-M 出力モード
stdoutへの機械可読出力を生成します。 出力モード することができます:

i 処理する前に各入力ファイル名を印刷します

o 処理後に各出力ファイル名を印刷します

io 入力ファイル名と出力ファイル名の両方を出力します。 入力ファイル名の前には接頭辞が付きます
「i」とスペース。 出力ファイル名の前には「o」とスペースが付きます。

このモードでは、他に何も標準出力に書き込まれません。

-O [+|-|=][0x]オフセット
指定されたものから再開します オフセット 最初のデバイスで。 接頭辞が付いている場合 0x それは意志
XNUMX進数として解釈されます。

番号の前に記号を付けることができます。

= 絶対位置にシークします(デフォルト)

+ 相対的な位置を探します。 通常のファイルでは、これは上記と同じです。

- オフセットを差し引いたEOFを求めます。

USAGE


/ dev / hdb1のファイルシステムを破棄し、すべてのjpegを抽出したいとします。
あなたが失ったファイル。 このガイドは、MagicRescueをにインストールしていることを前提としています / usr / local、その
デフォルトです。

ディスクでDMAおよびその他の最適化が有効になっていることを確認してください。有効になっていないと、数時間かかります。 の
Linuxの場合、hdparmを使用して次のオプションを設定します。

$ hdparm -d 1 -c 1 -u 1 / dev / hdb

ディスク容量の多い場所にある出力ディレクトリを選択します。

$mkdir 〜/出力

見て / usr / local / share / magicrescue / recipes 必要なレシピのディレクトリ。
Magic Rescueには、いくつかの一般的なファイルタイプのレシピが付属しており、独自のファイルを作成することもできます
(次のセクションを参照してください)。 テキストエディタで使用するレシピを開き、それらを読みます
コメント。 ほとんどのレシピは、動作するためにサードパーティのソフトウェアを必要とします、そしてあなたは修正したいかもしれません
一部のパラメータ( min_output_file)ニーズに合わせて。

次に呼び出します マジレスキュー

$ マジックレスキュー -r jpeg-jfif -r jpeg-exif -d 〜/出力 / dev / hdb1

ハードディスク全体をスキャンするため、時間がかかる場合があります。 あなたはそれを止めることができます
後で再開したい。 これを行うには、(CTRL + Cで)中断し、進行状況を記録します
どのアドレスに到達したかを示す情報。 その後、で再起動します -O オプションを選択します。

それが終了すると、おそらく何千もの.jpgファイルが見つかります 〜/出力含みます
あなたが知らなかったものはあなたのブラウザのキャッシュにありました。 これらすべてのファイルを並べ替えるには、
巨大なタスクなので、ソフトウェアやスクリプトを使用して実行することをお勧めします。

まず、で重複を排除してみてください デュペマップ(1)このパッケージに含まれているツール。

$ dupemap削除、レポート 〜/出力

削除の取り消し操作を実行している場合は、レスキューされたものをすべて削除する必要があります
ライブファイルシステムにも表示されるファイル。 を参照してください デュペマップ(1)のマニュアル
これを行うための指示。

それだけでは不十分な場合は、 マジックソート(1)より良い概要を得るために:

$マジックソート 〜/出力

レシピ


作成 レシピ ファイル
レシピファイルは、3〜5行のテキストからなる比較的単純なファイルです。 方法を説明します
ファイルの先頭を認識し、ファイルが認識されたときに何をするかを認識します。 にとって
たとえば、すべてのjfifイメージはバイト「0xff0xd8」で始まります。 6番目のバイトは
文字列「JFIF」。 見る レシピ/jpeg-jfif これに従うためにソースディストリビューションで
例。

マジックデータの照合は、次のような「照合操作」で行われます。

オフセット 操作 パラメーター

コラボレー オフセット ファイルの先頭から何バイトかを示すXNUMX進整数です
このデータは次のとおりです。 操作 の組み込みの一致操作を指します マジレスキュー,
パラメーター その操作に固有です。

string 操作は任意の長さの文字列に一致します。 jfifの例では、これはXNUMXつです
バイト。 「\n」や「\xA7」などのエスケープ文字を使用できます。

intxnumx 操作は、ビットマスクとAND演算された4バイトに一致します。 XNUMXバイトすべてに一致させるには、
ビットマスク「FFFFFFFF」を使用してください。 ビットマスクが何であるかわからない場合は、
string 代わりに操作。 jfifの例のマスク「FFFF0000」は最初のマスクと一致します
XNUMXバイト。

チャリオット 操作は「文字列」に似ていますが、XNUMX文字のみに一致する点が異なります。

特定のファイルタイプのこれらのパターンを学習するには、XNUMX進数で目的のタイプのファイルを調べます。
エディター、リソースファイルを検索して file(1)ユーティリティ
(<http://freshmeat.net/projects/file>)および/またはインターネットで参照を検索して
形式でダウンロードすることができます。

すべての操作が一致する場合、ファイルの先頭が見つかりました。 の終わりを見つける
ファイルははるかに難しい問題であるため、外部シェルコマンドに委任されます。
によって名付けられた command 指令。 このコマンドは、ブロックデバイスのファイルを受信します
stdinの記述子であり、$1変数で指定されたファイルに書き込む必要があります。 の他に
つまり、コマンドはファイルを抽出しようとするすべてのことを実行できます。

一部のファイルタイプ(jpegなど)では、これを実行できるツールがすでに存在します。 しかし、多くの
巨大なブロックデバイスの真ん中から読み取るように指示された場合、プログラムは誤動作します。 一部の人は
読み取る前のバイト0(cat |のプレフィックスを付けることで修正できますが、ファイルでの作業を拒否するものもあります
彼らは求めることができません)。 他の人は何かをする前にファイル全体をメモリに読み込もうとします、
もちろん、これはマルチギガバイトのブロックデバイスでは失敗します。 そして、いくつかは完全に失敗します
部分的に破損したファイルを解析します。

これは、独自のツールを作成するか、既存のプログラムをいくつかでラップする必要がある場合があることを意味します
動作を改善するスクリプト。 たとえば、これは最初の10MBを抽出することです。
一時ファイルに入れて、プログラムにその上で動作させます。 または多分あなたは使うことができます
ツール/セーフキャット ファイルが非常に大きい場合。

抽出水のレシピ 形式でアーカイブしたプロジェクトを保存します. 参照
空の行と「#」で始まる行はスキップされます。 レシピには一連の
コンテンツを検索するための一致操作と、処理する内容を指定するための一連のディレクティブ
ボーマンは

フォーマットの行 オフセット 操作 パラメーター リストに一致操作を追加します。
一致操作は、レシピに表示されている順序で試行され、すべて実行する必要があります
レシピが成功するために一致します。 The オフセット このデータが検出されるオフセットについて説明します
at、ファイルの先頭から数えます。 操作 次の値を持つことができます:

string string
パラメータは、次のようなエスケープシーケンスを含む可能性のある文字シーケンスです。
\xFF。

チャリオット 文字
パラメーターは、XNUMX文字(バイト)またはエスケープシーケンスです。

intxnumx ビットマスク
両方   ビットマスク 8文字のXNUMX進文字列として表されます。 ビットマスク なります
データとAND演算され、結果は次のように比較されます。 。 バイトオーダーは
XNUMX進エディタ、つまりビッグエンディアンで表示されます。

レシピの最初の一致操作は特別であり、スキャンするために使用されます
ファイル。 のみ チャリオット   string そこで操作を使用できます。 さらに操作を追加するには
タイプ、の説明を見てください マジックレスキュー.c.

整数で始まらない行はディレクティブです。 これは次のようになります。

EXT
必須。 EXT このタイプのファイル拡張子に「jpg」などの名前を付けます。

command command
必須。 すべての一致操作が成功すると、これ command に実行されます
ブロックデバイスからファイルを抽出します。 command でシェルに渡されます
stdinでデバイスのファイル記述子(右バイトにシーク)をブロックします。 シェル
変数$1には、出力を書き込む必要のあるファイルが含まれている必要があります。
これを尊重します。 さもないと マジレスキュー それが成功したかどうかはわかりません。

リネーム command
オプション。 抽出が成功すると、このコマンドが実行されます。 その目的は
ファイルに関する十分な情報を収集して、ファイルの名前をさらに変更します
意味のある。 スクリプトは、名前変更コマンド自体を実行してはなりませんが、実行する必要があります
標準出力に文字列"RENAME"、スペース、スペース、
新しいファイル名。 他に何も標準出力に書き込む必要はありません。 ファイルの場合
名前を変更しないでください。標準出力には何も書き込まないでください。 標準
inputと$1は、 command 指令。

min_output_file サイズ
デフォルト:100。このサイズ未満の出力ファイルは削除されます。

許可オーバーラップ バイト
デフォルトでは、レシピは重複するバイト範囲では一致しません。 許可オーバーラップ
これを無効にします。抽出されたファイルが含まれるレシピには常に使用する必要があります。
ディスク上よりも大きい場合があります。 もしも バイト が負の場合、オーバーラップチェックは
完全に無効になっています。 それ以外の場合、オーバーラップチェックはすべてに対して有効になります
しかし最後 バイト 出力の。 たとえば、出力が最大512の場合
入力よりバイト大きい、 許可オーバーラップ 512に設定する必要があります。

レシピが実際に機能するかどうかをテストするには、ハードディスクで実行するか、
  ツール/チェックレシピ 一致する必要があるが一致しないファイルを選択するスクリプト。

うまくいくレシピを作成した場合は、次のアドレスにメールで送ってください。 [メール保護] だからできる
配布に含めます。

WHEN NOT USE MAGIC レスキュー


Magic Rescue は、ファイル回復のための汎用アプリケーションを意図したものではありません。 それは与えます
使用できないファイル システムから既知のファイル タイプを抽出する場合には良い結果が得られますが、
他の多くの場合には、より優れたツールが利用可能です。

· どこかに無傷のパーティションが存在する場合は、次を使用します。 パート それらを見つけるために。

· ファイル システムの内部データ構造がほぼ損傷していない場合は、次を使用します。 当学校区の 探偵
キット。 ただし、この記事の執筆時点では、NTFS、FAT、ext[23]、FFS のみをサポートしています。

· Magic Rescue に回復しようとしているファイル タイプのレシピがない場合、
試します 何よりも その代わり。 より多くのファイルタイプを認識しますが、ほとんどの場合、
ファイルの先頭を見つけた後、固定数のバイトをコピーするだけでそれらをコピーできます。
ファイル。 これにより、出力ファイルの後処理がより困難になります。

多くの場合、上記のツールに加えて Magic Rescue を使用することになります。
これらは相互に排他的ではありません。たとえば、組み合わせます。 マジレスキュー   DLS 『ザ・スルース・キット』より
良い結果が得られるかもしれません。 多くの場合、使用することになるでしょう マジレスキュー それを抽出する
既知のファイル タイプと残りのファイルを抽出するための別のユーティリティ。

複数のツールの結果を組み合わせると、 デュペマップ(1) を削除するために使用できます。
重複します。

onworks.net サービスを使用してオンラインで Magicrescue を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad




×
広告
❤️ここでショッピング、予約、購入してください。料金はかかりません。これにより、サービスが無料で維持されます。