我有一个使用外部dll的win32应用程序(控制台应用程序)。dll导出两个函数(run和secretfunction),我需要知道dll何时进入secretfunction。我在运行时加载dll(通过命令行参数获取路径)。
我不能使用共享事件。
我得到的两个提示是使用一些与异常方法类似的逻辑,并可能使用virtualquery/virtualprotect。
有人能告诉我正确的方向吗?
澄清:
我的程序将调用run函数。run函数可以调用secretfunction,也可以不调用secretfunction。我想从我的程序中知道是否调用了分泌函数。
我有以下代码,所以我有函数的地址:
pfn_SecretFunction pfnSecretFunction = (pfn_SecretFunction)GetProcAddress(pluginDLLModule, "SecretFunction");
最佳答案
注入dll并在要跟踪的函数(监视器)中添加代码。