3

MFT の読み取り/書き込み方法の説明を探して Web をさまよいながら、次のセクションを見つけました:( http://www.installsetupconfig.com/win32programming/1996%20AppE_apnilife.pdf )

NtfsProtectSystemFiles が FALSE に設定されている場合、特殊ファイルを開くことができます。ただし、これを試みることにはいくつかの欠点があります。ボリュームをマウントするときに多くの特別なファイルが特別な方法で開かれるため、ZwReadFile への呼び出しから生じる IRP_MJ_READ 要求を処理する準備ができていません。そのようなリクエストを受信するとクラッシュします。これらの特殊ファイルは、ZwCreateSection と ZwMapViewOfSection で特殊ファイルをマッピングし、マッピングされたデータを読み取ることで読み取ることができます。さらなる問題は、いくつかの特殊ファイルが、ファイル オブジェクトへの最後のハンドルが閉じられたときに生成される IRP_MJ_CLEANUP 要求を処理する準備ができておらず、そのような要求が受信されるとシステムがクラッシュすることです。

  1. 「IRP_MJ_READ 要求を処理する準備ができていない」とはどういう意味ですか?どのような準備が必要ですか? IRP_MJ_READ とは何ですか?
  2. 「ZwCreateSection と ZwMapViewOfSection で特殊ファイルをマッピングし、マッピングされたデータを読み取る」それはどのように問題を解決しますか?
  3. 「ファイル オブジェクトへの最後のハンドルが閉じられたときに生成される IRP_MJ_CLEANUP 要求を処理するためのファイルの準備ができていない」とはどういう意味ですか? IRP_MJ_CLEANUP とは何ですか?
  4. 「特別なファイルへの開いているハンドルを決して終了しないプロセスに複製する」それはどのように問題を解決しますか?
4

1 に答える 1

2

それは古いデータです (1996 年から)。そして少し以上に間違っています。それ以来、世界は動き続けています。

\$MFT を開いて MFT を読み取ろうとするかもしれませんが、アクセス ビットを正しく取得するのに問題がある可能性があります。それらを書くこともできますが、それは本当に火遊びです。ファイル システムは、自分の関与なしにデータ構造が変更されることを想定していません。

未加工のパーティションを開き、ディスク構造を直接ウォークする方がはるかに優れています。

于 2012-07-26T19:24:18.683 に答える