0

インターセプトする必要がある Program.exe があります。その特定のプログラムは CreateFile と ReadFile を使用しますが、ReadFile 関数をインターセプトする必要があります。

独自の File System Filter MiniDriver を作成することを考えました。グーグルでこのリンクを見つけました:http://msdn.microsoft.com/en-us/library/ff551862(v=vs.85 ) これは正しい方法のようです。しかし、前回何らかのドライバ開発を行ったとき、>= VISTA ではドライバを簡単にインストールできなかったことを覚えています。Microsoft から「Signed」特権を取得する必要がありました (有料)。

私の質問は、USB スティック用のシンプルなファイル システム フィルター ドライバーを作成し、ReadFile() からの読み取りをインターセプトすることはできますか? 私がやりたいのは、特定のプロセスで ReadFile を許可することだけです。

1) 合法的にこれが必要です 2) 署名されていないドライバーを避ける必要があるため、ドライバーは常に機能します。

XP以降のすべてのOSで1つのミニフィルタードライバーが動作しますか?!

4

2 に答える 2

0

はい、ミニフィルターはこれに適した方法です。システム コール/IRP をインターセプトし、基準に応じてそれらのいずれかを許可/拒否できます。また、同じドライバー コードを複数の OS で使用できますが、特定の Os 用にビルドする必要があります。WDK 7 を使用して、XP から Windows 7 までのドライバーをビルドできます。

また、izlesa が示唆したように、vista より上位の x64 ウィンドウに署名する必要があります。

于 2012-07-14T08:28:17.423 に答える
0

署名されていないドライバーのロードの禁止は、Windows の x64 バージョンにのみ存在します >= vista x64 バージョンでは、1) テスト モードに切り替えて、この制限をオフにします 2) テスト証明書をルートとして証明書ストレージに追加します

ただし、このドライバーを配布する場合は、証明書をベイに入れる必要があります。

于 2012-06-04T14:00:03.593 に答える