2011-07-13 17 views
4

私はRegNotifyChangeKeyValueを使ってレジストリの変更を監視できることを知っています。私が疑問に思っているのは、傍受し、レジストリへの読み書きを妨げる可能性がある場合です。 Norton Anti-Virusなどのウイルスプログラムは、警告をポップアップし、レジストリを変更するプログラムがあるかどうかを尋ねてきます。そのためには、これを行う方法が必要であると私は推測できます。レジストリの変更を傍受する

私はC#を使用して管理された方法を好むことをお勧めします。ただし、誰かがこれを行う方法を知っているなら、WINAPI関数を使用していても、

おかげで、事前に

答えて

1

Easyhookをご覧ください。これは、Detoursと呼ばれる既存のMicrosoft Researchプロジェクトの管理バージョンです。これはあなたが望むことをするはずです。

+0

あなたの答えは、Detoursが古くなっていることを暗示しています。本当じゃない。 EasyHookは1つの選択肢であり、Detoursは別のものであり、このトリックを行うことができる他のいくつかのフッキングメカニズムがあります。 – OSH

0

数年前、私は、ドライバ(SYS)を書き込むことにより、Windows XP上でそれをやりました。 Windowsの32ビット版では、関数のアドレスを持つテーブルが見つかりました。私は自分のテーブルに置き換えました。もちろん、ドライバは内部から元のレジストリAPI関数を呼び出していました。

Vista/7およびx64システムでどのように動作するのか分かりません。おそらく、あなたはそれについていくつか再検討しなければならないでしょう。

このようにすると、一部のウイルス対策ソフトウェアがドライバをマルウェアとして報告しても驚かないでください。

+0

興味深い方法。この「機能アドレスを持つテーブル」とは何ですか?どのようにそれらを見つけるのですか? – Icemanind

+0

テーブルは実際にはサービス記述子テーブル(SDT)です。私はそのコードを探し、1日か2日にいくつかのガイドラインを示します。私はそのドライバーをどこかに持っていることを知っています。それまでは、あなたを助けるかもしれないものがあります:http://www.security.org.sg/code/sdtrestore.htmlご覧のとおり、「KeServiceDescriptorTable」などのエクスポートシンボルがあります。どのようにそれを行うにはいくつかの本当の答えと戻る... –

+0

ありがとう!私はそれを感謝します – Icemanind

関連する問題