为什么某些 Windows 应用程序包含重定位目录?

发布于 2024-12-21 19:29:36 字数 112 浏览 2 评论 0原文

如果我对 Windows 可移植可执行文件规范的理解是正确的,那么只有当库无法加载到其首选地址时才需要重定位表。为什么某些应用程序(例如 chrome.exe)包含重定位表?应用程序并不总是加载到其首选地址吗?

If my understanding of the Windows Portable Executable specification is correct, relocation tables are only needed when libraries cannot be loaded at their prefered addresses. Why do some applications (e.g. chrome.exe) contain a relocation table? Are applications not always loaded at their preferred addresses?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

给妤﹃绝世温柔 2024-12-28 19:29:36

这是为了 ASLR

AFAIK,当前的系统加载程序不会重新定位 .exe 文件,也许是因为它会增加加载时间。
然而,在下一版本的操作系统中,加载程序将重新定位 EXE。 (当硬件足够快时)

It's for ASLR

AFAIK, current system loader don't relocate .exe files, maybe because it will increase loading time.
However, in next versions of OS, loader will relocate EXEs. (When hardware will be fast enough)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文