【问题标题】:call x86 winapi function in x64 process [duplicate]在x64进程中调用x86 winapi函数[重复]
【发布时间】:2018-04-27 21:19:41
【问题描述】:

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

【问题讨论】:

  • 不能在同一个进程中混合使用 x86 和 x64 代码。
  • 而且您不能将 x64 DLL 注入 x86 进程,反之亦然。
  • 他说注入器是x64的,不是注入的DLL。尝试在海报正确的假设下理解问题,而不是自动假设相反。在注入之前将 32 位地址写入 32 位 DLL 是完全一致的。

标签: c++ x86 64-bit system-calls dll-injection


【解决方案1】:

试试这个:

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

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

【讨论】:

  • 是的,我也这么认为,prolly 我将要做什么:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-29
  • 1970-01-01
  • 2020-04-25
  • 2012-07-26
  • 2011-01-02
  • 2014-05-24
  • 2020-10-26
相关资源
最近更新 更多