代码之家  ›  专栏  ›  技术社区  ›  JohnnyVang

将32位dll注入64位进程-自动使其成为可能?

  •  1
  • JohnnyVang  · 技术社区  · 11 年前

    afaik没有办法将32位dll注入64位进程,反之亦然(至少在我的c++编写的注入器/dll中是不可能的)。但是,当使用来自 http://pastebin.com/AGWw2kT8 可以将32位dll注入64位进程中。这个Autoit库使用与我的c++注入器(CreateRemoteThread)相同的注入方式。有人能解释这种行为吗?

    3 回复  |  直到 11 年前
        1
  •  2
  •   Milos Dragg    11 年前

    CreateRemoteThread 32->64 不行!

    CreateRemoteThread 64->32 会起作用的!

    有关该主题的更多信息 here

        2
  •  1
  •   JohnnyVang    11 年前

    我找到了注射成功的原因。在我使用的Autoit注入测试脚本中 @SystemDir & "\calc.exe" 作为目标应用程序的路径。但是,在64位Windows安装中 @SystemDir 宏指向C:\Windows\SysWOW64,而不是C:\Windows\System32,因此脚本启动了32位版本的calc.exe,注入成功。

        3
  •  0
  •   Alan Stokes    11 年前

    它不可能工作(不能在一个进程中混合使用32位和64位代码)。因此,事实并非如此。当然,它可能无法明确表明它没有起作用。