外部 DLL を使用する Win32 アプリケーション (コンソール アプリケーション) があります。DLL は 2 つの関数 (Run と SecretFunction) をエクスポートするため、DLL が SecretFunction に入るときを知る必要があります。実行時に DLL をロードします (コマンド ライン引数を介してパスを取得します)。
共有イベントを使用できません。
私が得た 2 つのヒントは、例外メソッドに類似したロジックを使用することと、おそらく VirtualQuery/VirtualProtect を使用することです。
誰かが私を正しい方向に向けることができますか?
説明:
私のプログラムは Run 関数を呼び出します。Run 関数は、SecretFunction を呼び出す場合と呼び出さない場合があります。SecretFunction が呼び出されたかどうかをプログラム内から知りたいです。
私は次のコードを持っているので、関数のアドレスを持っています:
pfn_SecretFunction pfnSecretFunction = (pfn_SecretFunction)GetProcAddress(pluginDLLModule, "SecretFunction");