我有一个使用外部 DLL 的 Win32 应用程序(控制台应用程序)。 DLL 导出两个函数(Run 和 SecretFunction),我需要知道 DLL 何时进入 SecretFunction。我在运行时加载 DLL(我通过命令行参数获取路径)。
我无法使用共享事件。
我得到的两个提示是对异常方法使用一些类似的逻辑,并可能使用 VirtualQuery/VirtualProtect。
有人能指出我正确的方向吗?
澄清:
我的程序将调用 Run 函数。 Run 函数可能调用也可能不调用 SecretFunction。我想从我的程序中知道是否调用了 SecretFunction。
我有以下代码,所以我有函数的地址:
pfn_SecretFunction pfnSecretFunction = (pfn_SecretFunction)GetProcAddress(pluginDLLModule, "SecretFunction");
最佳答案
注入(inject)DLL并在你要跟踪(监控)的函数中添加代码。
关于c - 我如何知道外部 DLL 是否进入函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10772873/