1

我正在尝试使用 vsprops 文件将 ASLR 添加到项目中。我已验证该文件正在被项目使用,因为文件中还有其他设置正在被应用,并且在 MSVC 下打开项目时故意损坏文件会产生错误。当我将 ASLR 设置为时,yes我可以RandomizedBaseAddress="2"<Tool Name=VCLinkerTool.

但是......它没有效果。我也可以放RandomizedBaseAddress="xxxxx",它不在乎。就好像链接器的设置没有被拾取。我还尝试GenerateDebugInformation="True"了这是我看到其他 vsprops 文件使用的另一个设置,这也被忽略了。就好像链接器忽略了 vsprops 文件或其中的这些设置。

是什么赋予了?有没有人见过这个?

4

2 回答 2

1

项目文件为这些参数明确指定了“默认”,从而覆盖了 vsprops 文件。将这些项目显式设置为“从父级或项目默认值继承”解决了该问题。感谢所有的回复。

于 2010-10-18T20:38:00.000 回答
0

是什么让你认为它不起作用?图像可能会加载到相同的地址,纯粹是因为系统决定将其加载到那里,而不是因为它请求将其放置在那里,但是第二次加载应该在不同的地址,只要第二次加载没有在之后完成重启。此外,ASLR 仅适用于 vista 及更高版本,windows xp 根本不会尝试随机化它,它只会在第一个可用插槽中加载它

于 2010-10-18T18:26:10.740 回答