皆様お久しぶりです。APIフックの件で相談させていただいた者です。

あの後、取り敢えずIEのレジストリ操作の監視をしてみようと思い
TokyoDownstairsで公開されていたAPIHOOKのソースを参考に試していたのですが、
一応フックは成功しているようなのに、何故かシステムDLLの内部でアクセス違反が発生したり
IE自体が強制終了してしまう、という現象が起こってしまいます。
こちらにそのソースをアップしました、度々申し訳ありませんがご教授願えませんでしょうか。
http://www.fileup.org/file/fup33618.zip

InternetExplorerが動作中に、apihookexe_を実行することで
IEのRegOpenKeyExA、RegOpenKeyAの呼び出しをフックします。
各フックした関数は、apihooklog.txtへログを書き出す動作を付加しています。

私の環境(Windows2000 & VC6Standard)で発生する異常は以下のとおりです。

・IEのフック開始後、IE上でボタンやメニューをクリックする等のアクションを行うとIEが強制終了します。
|IEXPLORE.EXE - アプリケーション エラー
|"0x03e91f80" の命令が "0x00000000" のメモリを参照しました。
私には原因がよく分かりません。
もしやスタック領域を壊してしまったのでしょうか?どこで・・

・apihook.cppの中のフック関数dummy_RegOpenKeyExAの内部で
MessageBoxAPIを呼ぶよう書き換えビルドしたDLLを用いて動作させると
apihookexe_が勝手に終了してしまいます。そんなはずは、と思い
VCのデバッガで、DLL側を検査していたところ、どうやらシステムDLL内部で
|ハンドルされていない例外 は apihookexe_.exe (USER32.DLL) にあります: 0xC0000005: Access Violation。
クラッシュしているようなのです。
またBeepAPIは、かなり頑張って耐えているようですが、(よく鳴ります)
やはり最終的には、先に述べたIEの強制終了を起こしてしまいます。

以上です。よろしくお願いいたします。