【发布时间】:2014-08-08 15:39:50
【问题描述】:
我曾尝试在 ASLR 的链接器选项中使用 -dynamicbase -pie 和 -e_mainCRTStartup,但是当我在 ollydbg 中加载它时,它总是以 400000 加载
【问题讨论】:
-
这是由您的操作系统完成的,而不是在编译时完成的。如果我没听错的话。 Ollydbg 总是加载 400000 可能是因为它是代码地址而不是堆栈。如果您实时调试,您将看到每次堆栈是如何随机化的。
-
您确实需要通过在每个动态库和可执行文件上设置正确的标志来选择加入 Windows 上的 ASLR。还需要为可执行文件输出重定位表,而 MinGW 似乎不会在没有 hack 的情况下做到这一点 (
--export-all-symbols)。
标签: c++ windows mingw aslr dep