C++ – Injecting 32bit dll into 64bit process – Autoit makes it possible

autoitccode-injectiondll

afaik there is no way to inject 32bit dlls into 64bit processes and vice versa (at least it's not possible with my c++ written injector / dll). However, when using the Autoit injector from http://pastebin.com/AGWw2kT8 it is possible to inject 32bit dlls into 64bit processes. This Autoit library uses the same way of injecting as my c++ injector (CreateRemoteThread). Can someone explain this behaviour?

Best Answer

I've found the reason why the injection was successful. In the Autoit injection test script I use @SystemDir & "\calc.exe" as path for the target application. However, on a 64bit Windows installation the @SystemDir macro points to C:\Windows\SysWOW64 instead of C:\Windows\System32 - therefore the script started the 32bit version of calc.exe, in which the injection succeeded.

Related Topic