ASLR和DEP是用于保护应用程序免受黑客攻击的两种技术。随着许多现代应用程序变得越来越具有安全意识,这些技术变得越来越重要。现在,我只关注 Windows 7 和这些技术。我想知道何时以及如何最好地使用这些技术,尤其是在使用 .NET 编译器以外的开发工具开发桌面应用程序时。(对于 .NET 安全性,这个问题将提供答案。)我对 Delphi 和 C++Builder 等编译器以及其他 WIN32 编译器特别感兴趣。基本上,我如何让这些应用程序同时支持 DEP 和 ASLR?有什么方法可以从我自己的(WIN32)代码中控制这些选项?
问问题
957 次
2 回答
3
这只是使用正确的链接器选项的问题,因此它会在可执行文件头中翻转一点。Microsoft 链接器选项是 /NXCOMPAT (DEP) 和 /DYNAMICBASE (ASLR)。我不太了解您的工具,不知道它们是否有类似的选项。Editbin.exe 也支持这些选项,您始终可以在构建后事件中运行它。
于 2010-08-03T12:34:33.177 回答
0
{$SetPEOptFlags $100}//to set the ASLR flag
{$SetPEOptFlags $40}//to set the DEP flag
于 2020-07-26T11:41:15.167 回答