我试图使用vsprops文件将ASLR添加到项目中。我已经验证了项目正在使用该文件,因为该文件中还有其他正在应用的设置,并且故意损坏该文件会在MSVC下打开项目时产生错误。当我将ASLR设置为yes时,我可以在<Tool Name=VCLinkerTool下看到RandomizedBaseAddress="2"。
但是..。它没有效果。我也可以放RandomizedBaseAddress="xxxxx",它不在乎。好像链接器的设置没有被捡起来一样。我还尝试了GenerateDebugInformation="True",这是我见过其他vsprops文件使用的另一个设置,这也被忽略了。这就好像链接器忽略了vsprops文件或其中的这些设置。
怎么回事?有人见过这个吗?
发布于 2010-10-18 20:38:00
项目文件显式地为这些参数指定“默认”,从而覆盖vsprops文件。显式地将这些项设置为“从父或项目默认值继承”解决了问题。谢谢你的回复。
发布于 2010-10-18 18:26:10
你凭什么认为它不起作用?映像可能加载在同一个地址,纯粹是因为系统决定将其加载到那里,而不是因为系统请求将其放在那里,但是,第二个加载应该位于不同的地址,只要第二个加载在重新启动之后没有完成。另外,ASLR只适用于vista和up,windows xp根本不会尝试随机化,它只会在第一个可用的时隙加载它。
https://stackoverflow.com/questions/3961998
复制相似问题