Is rebasing DLLs (or providing an appropriate default load address) worth the trouble?

前端 未结 5 1322
清酒与你
清酒与你 2020-12-05 06:59

Rebasing a DLL means to fix up the DLL such, that it\'s preferred load adress is the load address that the Loader is actually able to load the DLL at.

This can eithe

5条回答
  •  孤城傲影
    2020-12-05 07:36

    You have to consider that user DLLs (that are not already loaded into another processes) has to be read from HDD. Usually the memory mapping is used for that (and it uses lazy loading), so if they have to be relocated, they'll have to be actually read from HDD before the process can start.

    For those loaded by other processes the copy-on-write mechanism is used. So, again, relocating them will mean additional operations.

    What's about ASLR, it's intended for security purposes, not for performance.

提交回复
热议问题