c - 我如何知道外部 DLL 是否进入函数?

标签 c windows winapi

我有一个使用外部 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/

相关文章:

c - 在 linux 集群上为特定用户安装 cmake

c - 为什么 C 标准不允许您从函数返回值?

c - 如何在非规范模式下从读取函数返回且 VMIN 和 TIME 不等于零

windows - RegDeleteKey 和 RegDeleteKeyEx

c - 如何在 C 中优雅地关闭线程

c++ - 如何释放 C++ DLL 中分配的内存

c - 无法在数组中存储数据

windows - Windows 上的 imapclient 错误

windows - FASM 汇编程序在退出前等待

c++ - 如何在 C++ 中打开/等待一个程序完成然后运行另一个程序?