【问题标题】:DEP and ASLR and how to use it?DEP和ASLR又如何使用呢?
【发布时间】:2011-03-24 16:17:27
【问题描述】:
ASLR 和DEP 是用于保护应用程序免受黑客攻击的两种技术。随着许多现代应用程序变得越来越具有安全意识,这些技术变得越来越重要。目前,我只关注 Windows 7 和这些技术。我想知道何时以及如何最好地使用这些技术,尤其是在使用 .NET 编译器以外的开发人员工具开发桌面应用程序时。 (对于 .NET 安全,this question 将提供答案。)我对 Delphi 和 C++Builder 等编译器以及其他 WIN32 编译器特别感兴趣。
基本上,我如何让这些应用程序同时支持 DEP 和 ASLR?有什么方法可以让我在自己的 (WIN32) 代码中控制这些选项?
【问题讨论】:
标签:
winapi
windows-7
dep
aslr
【解决方案1】:
{$SetPEOptFlags $100}//to set the ASLR flag
{$SetPEOptFlags $40}//to set the DEP flag
【解决方案2】:
这只是使用正确的链接器选项的问题,因此它会在可执行文件头中翻转一点。 Microsoft 链接器选项是 /NXCOMPAT (DEP) 和 /DYNAMICBASE (ASLR)。我不太了解您的工具,不知道它们是否有类似的选择。 Editbin.exe 也支持这些选项,您始终可以在构建后事件中运行它。