【发布时间】:2011-09-22 01:56:08
【问题描述】:
注入到 x64 进程的 x64-DLL 使用 C++ 和 EasyHook 挂钩 x86-DLL 失败。 如果 Loader、InjectionLibrary 和 InjectionTarget(它在两个版本中都可用,我需要同时连接)是 x86,它就可以工作。 获取导出过程的地址(GetProcAddress 本身)在 x64 上不是问题。 InjectionTarget 也有 HookTarget(Kernel32.dll) 作为 x64 的依赖项。 LhInstallHook(...) 返回 STATUS_NOT_SUPPORTED 源 cmets 说在以下情况下发生: "目标入口点包含不受支持的指令。"
由于源代码适用于 x86 构建,我决定不添加它。
我画了一个小图
【问题讨论】:
-
可以在 x64 进程中映射 x86 DLL 吗?这对我来说是新的。
-
我检查了dependencywalker 并列出了它,但不是我的领地。无论如何,我需要达到能够在 x64 上挂钩 GetProcAddress 或类似的目标。
标签: c++ hook 32bit-64bit 32-bit easyhook