(MS回り道で)私は、DLLを持っていると私はDetourAttachExを使ってトランポリン関数を作成する方法は?
- のdllは、Windowsの一部ではない、そのエクスポートされた機能の一つに迂回を作成したいです。
- 私の迂回の後に実際の関数を呼び出すことができる必要があります(実際の関数を迂回したものから呼び出す)
- 私は関数の正確な署名を知っています。
- 私はすでに機能を迂回することができましたが、今は本当のものを呼び出すことができません。
私はトランポリン機能を使用する必要があることを認識しています。私はオンラインの例を見ました。 問題は:すべてのそれらの例は、Windows API関数を迂回する方法を示して、私は徹底的にDLLのインポートを取得する関数のために同じことをする必要があります。
任意のヘルプはちょうど明確にする
--edit を歓迎されるだろう、私はそのポインタによって元の関数を呼び出すことを試みてきたが、それは動作しません。 も、このスタックオーバーフローからでもクラッシュしないarticle
をメソッドを使用してみましたが、それは無限ループ(元の関数に迂回1へのジャンプがあるので、私は仮定)
にに入るように見えます編集完了! 解決したことがわからない、 thisを参考にしてください。
- コード(私は問題の原因となったものは何でも掃除かなり確信して)
作品、 おかげでとにかく
迂回路の意味を定義してください。また、私はプロのソフトウェアエンジニアとして十年以上に渡って "トランポリン機能"という言葉を聞いたことがないことを認めなければなりません。あなたのコードからサードパーティのDLLで関数を呼び出そうとしているのであれば、ヘッダファイル、LIBファイル、およびOLE/COM/CLR DLLかどうか、あるいは、ない。 – AlastairG
さて、私はDetoursとOMGについて、Googleでどんな恐ろしいものがあるのかを読んだ。誰か(Microsoft?)が実際にライブラリを書いたとは思えないのですか? A)ウイルスをプログラムに付けること、B)Windowsが正常に動作するようにハッキングすること。あなたは正確に何を達成しようとしていますか?私が読んだところでは、関数がどこから来るのかに違いはないはずです。あなたには何が間違っていますか? – AlastairG
ほとんどの人は、単にデバッグとロギングに使用します。私はそのDLLの機能の1つをフィルタリングしようとしています。 – user527744