小規模ブランドのプラグインセキュリティ監視システムを過剰なフラグメントでフォーマットした後に復旧した事例

スマート カメラは現在、市場で非常に一般的です。ビデオとオーディオを収集するにはメモリ カードのみが必要で、携帯電話のアプリを通じてリモート制御できます。従来のセキュリティ ブランドと比較して、低コストで導入が簡単です。今回は、小規模ブランドのカード型セキュリティ監視のフォーマット事例を取り上げますが、この事例は一部の小規模ブランドでよく使用されているソリューションであり、一定の典型的な基準値があります。

障害ストレージ: 64G TF カード fat32 ファイルシステム クラスターサイズ 32 秒

故障現象:

64G メモリカードの実際の使用容量は 58.2G で、ユニバーサル ファイル システム FAT32 を使用して管理されています。下図からわかるように、「空き容量」は 58.0G で、レコードファイルには 2 億 1465 万個のファイルがあります。 。通常の状況では、このようなデバイスの管理方法は継続的な循環書き込み (削除と書き込み) であり、「空き領域」が非常に大きくなる状況は 2 つだけです。

  1. 新しいメモリーカードを初めてフォーマットする場合 
  2. フォーマットされました

基礎となるデータから、2 番目の状況の可能性が高いと判断できます。

故障解析:

通常、これはフォーマット後に上書きする比較的単純なケースですが、実際には次の 2 つの理由により、状況は想像よりもはるかに複雑です。

  1. 多くの断片が存在します (図 1)。

図 1 からわかるように、書き込まれるファイルはそれほど多くありません。ファイルは基本的に 1 分に 1 つ生成されるため (Xiaomi や 360 の 1 分ソリューションと同様)、このソリューションの利点は、カメラがデータを収集することです。時間単位→データ書き込み→MP4にカプセル化するため、ファイルエラーが発生しにくく、端末への負荷も比較的小さいです。欠点は、ファイルが多く、フラグメントが比較的多いことです。図 2 からわかるように、フラグメントの数は 6 で、それほど多くないように感じられるかもしれませんが、このタイプのスキームでは、新しくフォーマットされたカードはそのスペースが大きいため、フラグメント化が少なくなります。書き込みのない断片化はますます多くなり、断片が増えれば増えるほど、最終的には多数の小さな断片になり、わずか 1 つのクラスターにすぎなくなります。この極端なケースでは、オーディオおよびビデオ フレーム データ ブロックが小さすぎ、インターリーブされたストレージによりプログラム アルゴリズムがフラグメントの所属を区別できないため、ソフトウェアで完全に再構成することはできません。

断片化の理由は実際には同じです。ファイルを生成するときに、ログ ファイルと JPG プレビュー ファイルが生成されます。2 つのファイルはビデオ ファイルと交差しています。ログ ファイルは簡単に区別できますが、JPG データは非常にわかりにくいです。基本的にどのような種類のビデオエンコードであっても、最終的には圧縮されるため、領域を分離するのは困難ですが、一度データ領域が圧縮されると、それは区別できなくなります。

  1. エンコードは一般的なhvcではなくhevです。

MP4 ファイルのビデオ エンコードの一般的なソリューションは、avc と hvc で、ネイキッド ストリーム 264 と 265 に対応します。名前が異なるのはなぜですか? avc/hvc はエンコードされるためです。しかし、今回は 265 個のネイキッド ストリームに遭遇しました。図 3 のエンコードが hev であることがわかります。ネイキッド ストリームは、修正を必要としない最も原始的なエンコードであると理解できます。この場合、回復の難易度は次のとおりです。特に最初の状況が存在する場合には、さらに大きくなります。非常に正確な位置決めとフラグメントの分離のみがより良い結果を達成できるからです。

図 1: フォーマット後に約 200M の少量のデータが書き込まれる

図 2: フォーマット後に書き込まれたファイルが断片化されている

図 3: 「裸のストリーム」hev(265) エンコーディング

トラブルシューティング:

この複雑な状況に応じて、汎用の回復ソフトウェアでは回復できません。その原理は次のとおりです。

  1. 削除またはフォーマット後、FAT32 または exfat は FAT テーブルをクリアしますが、クリア後、断片化されたファイルは有効なリンク リストを取得できなくなり、リンク リストなしではデータを取得できなくなります。
  2. ファイルは継続的に保存されないため、ユニバーサル リカバリ ソフトウェアは、ディレクトリ エントリ内のファイルの最初のクラスタ ポインタとファイル長を介してファイル ヘッダーを見つけることしかできません。その後、連続ストレージ方式で読み取られるため、復元されたファイルは最初のクラスターを除いてすべて間違ったものになります。

図 4: ユニバーサル リカバリ ソフトウェア R-Studio の新しいバージョンでは、ファイル検証が追加され、フラグメントが見つかったことを示すプロンプトが表示されます。

ただし、一般的な回復ソフトウェアを使用して、ファイルのディレクトリをスキャンして見つけることができます。FAT32 フォーマット後、ディレクトリ エントリが存在するクラスタがカバーされていない限り、ファイルの最初のクラスタを見つけることができます。ファイルのヘッダーとファイルの末尾の位置を検索します。両方のデータ間隔は次のとおりです。

ファイル名には日付と時刻が含まれているため、顧客が必要とするファイルを正確に見つけることができます。一般的なソフトウェアでスキャンした後、顧客が希望するファイル名がすべて存在することがわかり、最初のクラスタは比較的早い時間で開始されます。真ん中なので回復する可能性はまだ比較的高いです。

以下の図からわかるように、一般的な回復ソフトウェアは、ファイル ディレクトリが配置されている最初のクラスター (ファイル ヘッダーが配置されている場所) のみを検索しますが、その後の領域は長さによって直接取得されるため、使用済み。この方法により、お客様が必要としている時間帯を特定することができましたが、ネイキッドストリームを使用しているため、ファイルヘッダが存在するクラスタを抽出して最初のフレームを取得し、お客様にデータを確認する予定です。しかし、1 クラスタ単位で抽出されたビデオ フレームが不完全で、フラグメントが非常に小さく、1 クラスタのサイズしかない可能性があることを示したため、検出は失敗しました (最初のフレームの長さ > クラスタの長さであることが理解できます) )。原理を図 5 に示します. 最初のフレームには DATA0 ~ DATA2 という少なくとも 3 つの DATA 部分があります. DATA 領域自体が実環境の値を抽象化し、それをデジタル基盤データに変換することに注意してください. これは圧縮されたデータであり、基準値はありません。さらに、図 5 では、説明の便宜のために比較的単純な方法を使用しています。実際には、DATA1 と DATA0 は「遠く離れている」場合があります。極端な場合には、DATA1 が DATA0 よりも前に配置される場合があります (これはすべてのファイル システムで許可されています)。

図 5: ビデオおよびオーディオ フレーム データの断片化を示す簡略図

さまざまなソリューションを使用してテストを繰り返した結果、これに対処するより良い方法がないことがわかりましたが、そのようなファイルに対するルールも見つかりました。moov 後処理ソリューションを使用します。基本的に、ヘッド間のデータは、 moov はこのファイルのすべてです クラスタリスト、現在の問題は、フラグメントを正確に見つけてデータを分離することですが、従来の方法ではそれを行うことができません。最後に、以前扱った JPG の断片化のケースを思い出し、トラバーサル方式でクラスタ単位で連続書き込みを行ってデータを確認し、その計画をもとに 265 本のビデオのネイキッド ストリームの特徴と組み合わせて、次の復旧計画を策定しました。

  1. ファイル範囲の取得
  2. 範囲を狭めるビデオフレーム自体の特性
  3. 範囲を絞り込むためのログおよび JPG ファイルのヘッダー

4、2、3には直接通過できる場所がありません

この計画に従って、フラグメントをフィルタリングして特定するための小さなプログラムを書き直しました。一周書いてから、再度チェックしました。最後に、特定と再編成が完了しました。幸いなことに、ファイルは小さく、ファイルは 4 つまたは 3 つだけでした必要でした。配置は比較的正常で、断片化の範囲は大きくありません。ファイルの 1 つの断片化の範囲は驚くべきものです。645M のファイルの断片が 65667 個のクラスタ (約 1G のスペース) に分散されています。これが最も一般的です。範囲内の最大値が渡されました。間隔が長いため、プログラムも最適化されます。

  1. 書き込みスキームにはバッチ書き込みと自動書き込みが追加されます。
  2. 一括選択機能を追加

それでも、データ領域を効果的に区別するには、HEX 値を手動で確認する必要があり、本当に区別できない場所がある場合、それらを 1 つずつたどることしかできず、非常に非効率です。本当のことは経験に頼ることです。図6に示すように、間隔が長いファイルの場合、前のフラグメントと次のフラグメントの間の最大距離は「30,000クラスタ以上」であり、DATA領域内にあります。DATA領域に干渉する他のビデオファイルが多数あります。識別は非常に難しく、豊富な経験と多大な忍耐力が必要です (データは書き込みのたびに表示する必要があり、プレーヤーを介してのみデコードして表示できます。このプロセスにはエネルギーと忍耐力が必要です)。

図 6: MOOV ビデオの RAW レベルの断片化が最適化され、アップグレードされました

下の図は回復効果を示しています。4 つのファイルの再生に問題はありません。ビデオ フレームとオーディオ フレームはすべて正常です。4 つのファイルの復元には 2 日以上かかりました。回復が成功したことで、ソリューションの実現可能性が検証されました。

図 7: 再構成されたビデオ ファイル

これは、小型ブランドのスマート カメラで書き込まれたファイルをフォーマット後に復元する方法です。このような問題が発生した場合は、お問い合わせください。

おすすめ

転載: blog.csdn.net/cpxcls/article/details/134284107