我正在阅读有关DLL注入技术的文章,并且我有一个问题。
假设我们想要将DLL注入到Windows 7中启用了kernel32.dll ASLR的目标进程中。
因此,注入代码的任何部分都不能使用任何winapi或任何系统调用,因为注入器代码中的loadLibrary函数的地址与目标进程中的loadLibrary地址不同,是吗?
因此,对于
假设我们想要将DLL注入到Windows 7中启用了kernel32.dll ASLR的目标进程中。
因此,注入代码的任何部分都不能使用任何winapi或任何系统调用,因为注入器代码中的loadLibrary函数的地址与目标进程中的loadLibrary地址不同,是吗?
因此,对于
CreateRemoteThread
的这样的调用将无法正常工作:CreateRemoteThread(hProcess,
NULL,
0,
(LPTHREAD_START_ROUTINE) ::GetProcAddress(hKernel32,
"LoadLibraryA" ),
pLibRemote,
0,
NULL );
::WaitForSingleObject( hThread, INFINITE );
如果我推理有误,请纠正我。