3

我有一个使用外部 DLL 的 Win32 应用程序(控制台应用程序)。DLL 导出两个函数(Run 和 SecretFunction),我需要知道 DLL 何时进入 SecretFunction。我在运行时加载 DLL(我通过命令行参数获取路径)。

我无法使用共享事件。

我得到的两个提示是对异常方法使用一些类似的逻辑,并且可能使用 VirtualQuery/VirtualProtect。

有人可以指出我正确的方向吗?

澄清:

我的程序将调用 Run 函数。Run 函数可能会也可能不会调用 SecretFunction。我想从我的程序中知道是否调用了 SecretFunction。

我有以下代码,所以我有函数的地址:

pfn_SecretFunction pfnSecretFunction = (pfn_SecretFunction)GetProcAddress(pluginDLLModule, "SecretFunction");
4

2 回答 2

1

注入 DLL 并在要跟踪的函数中添加代码(监视器)。

于 2012-05-27T10:21:48.943 回答
0

到达 (SecretFunction) 函数时在 DLL 中抛出异常,并在 exe(控制台)中捕获(并吞下)异常。

于 2012-05-27T10:09:24.710 回答