在 x64 进程中调用 x86 winapi 函数

call x86 winapi function in x64 process

所以我目前正在创建一个 dll 注入器,它是 x64 并且能够注入到 x86 或 x64 进程中。手动映射的一部分是固定导入地址 table,这可以通过调用 'GetProcAddress' 来完成,其中 returns 某个库的函数。所以这是我的问题,因为我在 x64 中编译 'GetProcAddress' 总是返回 x64 函数,尽管如果我注入 x86 应用程序我需要 x86 函数。有什么办法可以在我的 x64 程序中调用 x86 函数吗?也许是直接系统调用或类似的东西?

试试这个:

启动 32 位进程并使用它的 GetProcAddress 然后 IPC(通过 COM?)到 64 位进程。

这是一个额外的过程,但它会起作用!