0

私の目標は、削除される直前にファイルの内容と名前を上書きすることです-削除されたファイルを消去します。

ミニフィルター ドライバーと、最後の削除操作の直前に呼び出されるクリーンアップ前のコールバック ルーチンを使用しようとしています。

これまでのところ、作成/変更/アクセスの日付を取り除き、削除される直前にファイルの内容を上書きすることができました.

ただし、ファイル名と所有者情報を変更することはできません。

FltSetFileInformation を使用してファイルの名前を変更できることがわかりましたが、クリーンアップ中にファイルが適切に削除されません。shift+delete で削除されますが、ディスク上のファイル名は元のままです。通常の削除だけでは、ごみ箱には移動しません (おそらく、新しい名前が付けられたため、移動できないためです。)

ミニフィルターの制御フローは、私には少し不明確です。たとえば、FltWriteFile を呼び出すと、別の IRP が送信されるだけで、同期または非同期で送信されますか。

IRP 内で削除したいファイルの名前を変更するにはどうすればよいですか?

4

1 に答える 1

0

FileDispositionInformation は、これを使用して削除します。

FileRenameInformation は、これを名前変更に使用します。また、名前変更を行っているファイルまたはディレクトリ内のファイルを特定する必要があります。最初に罰金の名前を見つけてから解析します...など。

同じボリュームでは名前の変更は移動操作ですが、別のボリュームではコピー削除であるため、これが役立つことを願っています。

于 2014-07-22T05:16:01.543 に答える