使用 C++ 和 EasyHook 将 x64-DLL 注入到挂钩 x86-DLL 的 x64 进程中失败。如果 Loader、InjectionLibrary 和 InjectionTarget(它在两个版本中都可用,我需要同时连接)是 x86,它就可以工作。获取导出过程的地址(GetProcAddress 本身)在 x64 上不是问题。InjectionTarget 也有 HookTarget(Kernel32.dll) 作为 x64 的依赖项。LhInstallHook(...) 返回 STATUS_NOT_SUPPORTED 源注释说在以下情况下发生:“目标入口点包含不受支持的指令。”
由于源代码适用于 x86 构建,我决定不添加它。
我画了一个小图