【发布时间】:2010-02-07 12:14:39
【问题描述】:
我想拦截 dll 的加载,以便我可以使用它们。我的第一个想法是挂钩 GetProcAddress。令人惊讶的是,通过挂钩它,我只能拦截在拥有我的库的进程中进行的调用。 (我打开了另一个调用 GetProcAddress 的可执行文件,这些调用没有被拦截)(我猜是因为它是针对我的 lib 动态编译的)
输出示例:
C:\Windows\syswow64\kernel32.dll Module32NextW
C:\Windows\syswow64\kernel32.dll 创建Toolhelp32Snapshot
C:\Windows\system32\DINPUT.dll DirectInputCreateW
C:\Windows\SysWOW64\ntdll.dll DirectDrawCreate
无论如何,我想知道的是我应该从哪里开始拦截 dll 加载,以便我可以使用它们的功能。
基本上,我希望能够为任何加载的 dll 调用 GetModuleInformation。
【问题讨论】:
-
stackoverflow.com/questions/873658/… 的重复以及更多类似问题。
-
我不知道该叫你名字还是不理你。我不想知道如何挂钩函数。我想知道我应该使用哪些函数来拦截 Dll 的加载。
标签: visual-c++ hook