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

时间:2013-10-26 08:01:03

标签: c++ dll code-injection autoit

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

3 个答案:

答案 0 :(得分:1)

CreateRemoteThread 32->64无效!

CreateRemoteThread 64->32会有效!

有关该主题的更多信息here

答案 1 :(得分:1)

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

答案 2 :(得分:0)

它不可能工作(你不能在一个进程中混合使用32位和64位代码)。因此它没有。它当然可能无法表明它没有奏效。