【问题标题】:can we rebase kernel32.dll ? such that load address is different for two processes我们可以 rebase kernel32.dll 吗?使得两个进程的加载地址不同
【发布时间】:2011-10-07 15:24:36
【问题描述】:

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

【问题讨论】:

    标签: windows kernel32


    【解决方案1】:

    Kernel32.dll 在所有进程上都具有相同的基地址,以完全允许您做您想做的事情。阅读:Why are certain DLLs required to be at the same base address system-wide?

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        • 2012-07-04
        • 2010-09-23
        • 1970-01-01
        • 2011-04-02
        • 2018-05-29
        • 1970-01-01
        相关资源
        最近更新 更多