为什么装载机不能在所需位置装载

据说有时候,加载程序将这个exe加载到与链接程序所假定的不同的地址。 什么都可能是装载机这样的情况?

基本上,这发生在以下情况:

  1. 图像优先加载的地址已被占用。 例如,可能有另一个图像已经加载在那里。
  2. 要加载的图像已经在启用ASLR的情况下编译。
  3. FLG_LDR_TOP_DOWN全局标志已被设置,这强制模块被加载到尽可能高的地址。