【发布时间】:2023-03-06 06:06:01
【问题描述】:
我正在阅读有关 DLL 注入技术的信息,并且想到了这个问题。
假设我们想将一个 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 );
如果我的推理有误,请纠正我。
【问题讨论】:
标签: winapi dll inject aslr createremotethread