It is said that sometimes the loader loads the exe at an address which is different than the one assumed by the linker. What all could be the cases when loader does so??
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Basically, this takes place in the following situations:
- The address at which the image prefers to be loaded is already occupied. For example, there may be another image already loaded there.
- The image to be loaded has been compiled with ASLR enabled.
- The
FLG_LDR_TOP_DOWN
global flag has been set, which forces modules to be loaded at the highest possible address.