【发布时间】:2010-11-02 21:16:59
【问题描述】:
有没有一种在 c++ 中挂钩 dll 的快速方法?我知道有微软的Detours 东西,但是没有一种快速简单的方法来挂钩几个 dll 函数吗?
例如,我想将 dll mytestdll.dll 中的函数 void mytestfunction() 挂钩到 hook_mytestfunction()。
提前致谢!
【问题讨论】:
-
你是想在你自己的进程中挂钩一个DLL,还是一个已经加载到另一个进程中的DLL?
-
挂钩所有在 dll 中使用的函数的可用策略与仅挂钩一个已使用函数的策略不同。进程外策略与进程内策略不同。能否提供更多细节?
-
是的,试图从另一个进程挂钩 dll。例如类似的事情就像挂钩 opengl32.dll 文件并拦截 glBegin..glEnd 等......
-
您能解释一下您的情况(即为什么要这样做?),也许我们可以给您一个比挂钩更好的答案,您确实应该尽量避免。