見つからないアセンブリをダウンロードするために、LoadLibraryを呼び出したいと思います。マネージアセンブリを処理するResolveAssemblyのハンドラがありますが、アンマネージアセンブリも処理する必要があります。マネージコードからLoadLibraryコールをフックします
"Microsoft Windowsアプリケーションのプログラミング"で指定された方法でインポートテーブルを書き直してLoadLibrary呼び出しをフックしようとしましたが、WriteProcessMemory()を呼び出すときにエラー998が拒否されました。 (はい、昇格したprivで実行しています)
誰かがCLRのロード中にインポートテーブルを書き直すことに成功しましたか?誰かが私を正しい方向に向けることができますか?
更新:我々は許可拒否された問題を解決し、私たちは混合アセンブリ(アンマネージド+管理)の輸入表を反復処理するとき、今、私たちが見つける唯一のエントリはにmscoree.dllです。誰もネイティブの輸入品を見つける方法を知っていますか? (私たちはC++/CLIで作業しています)。
...またはあなたが持っている(また、64ビットをサポートしているN-CodeHook(http://newgre.net/ncodehook)のようなオープンソースのlibを使用することができます – newgre
@jn:自己宣伝:)次回は、コードインジェクションに対処する必要がありますが、私は迂回路が私のためにうまく機能していることを認めなければなりません。 APIのミラーリングについて考えましたか?既存の迂回アプリケーションが簡単に移行できるようにする –
私を得ました;-)実際には、私はそれを考えていません。それを私のtodoリストに載せます。 thx – newgre