我们可以rebase kernel32.dll吗?这样两个进程的加载地址不同

时间:2011-07-18 12:11:30

标签: windows kernel32

具体来说我想知道同一会话中两个进程的kernel32.dll加载地址是否可以不同? 我想使用createremote线程,所以只是想知道远程进程中的kernel32加载地址是否可以与任何场景中的注入过程不同?

2 个答案:

答案 0 :(得分:0)

Kernel32.dll在所有进程上具有相同的基址,以准确提供您想要执行的操作。阅读:Why are certain DLLs required to be at the same base address system-wide?

答案 1 :(得分:0)

出于安全原因,系统DLL以随机地址(ASLRed)加载,以便远程攻击者无法猜测系统上的代码位于内存中(即远程攻击者无法猜测计算机上的指针)。

每次启动都会发生一次,因此kernel32将在整个系统的所有进程中加载​​到同一地址。