Las inyecciones en win32 sea WinXP, Vista, Win7 o Win8 funcionan localizando la API LoadLibrary, o cualquiera desde el proceso inyector. Pero tienes razón en que MS$ puede cambiar la política de la localización de las direcciones de la API. Para solventar el problema, realicé este
ejemplo de shellcode que localiza el BaseAddress de kernel32.dll.
Seoane lo hizo de esta
otra manera. Así conoceremos las direcciones de las API desde el mismo proceso anfitrión, y no desde el inyector.
Saludos.