【发布时间】:2011-10-07 15:24:36
【问题描述】:
具体来说,我想知道 kernel32.dll 加载地址对于同一会话中的两个进程是否可以不同? 我想使用 createremote 线程,所以只想知道远程进程中的 kernel32 加载地址是否与任何情况下的注入进程不同?
【问题讨论】:
具体来说,我想知道 kernel32.dll 加载地址对于同一会话中的两个进程是否可以不同? 我想使用 createremote 线程,所以只想知道远程进程中的 kernel32 加载地址是否与任何情况下的注入进程不同?
【问题讨论】:
Kernel32.dll 在所有进程上都具有相同的基地址,以完全允许您做您想做的事情。阅读:Why are certain DLLs required to be at the same base address system-wide?
【讨论】:
出于安全原因,系统 DLL 在随机地址 (ASLRed) 加载,因此远程攻击者无法猜测您系统上的代码位在内存中的位置(即远程攻击者无法猜测您计算机上的指针)。
每次启动都会发生一次,因此 kernel32 将被加载到系统中所有进程的相同地址。
【讨论】: