在RAD Studio中内置了令人惊叹的解决方案吗?让我们知道.寻找折扣?访问我们的特别优惠第页!
新闻

RAD Studio 11.1和Windows PE安全标志

默认情况下,Delphi和C++Builder 11.1为Windows应用程序启用了许多PE安全标志,其中一些以前可用,但有点隐藏。


Delphi长期支持ASLR和其他推荐的Windows安全标志。在最近的11.1版本中,Embarcadero通过呈现特定的链接器选项,在默认情况下启用链接器选项并在RAD Studio中构建包含这些标志的包和应用程序,从而使在Delphi和C++Builder中使用这些标志变得更容易。

有关这些Windows PE标志的更多信息

数据执行保护(DEP)

允许系统将一个或多个内存页标记为不可执行,从而阻止代码从这些内存区域运行,并使利用缓冲区溢出变得更加困难。你可以在此处显示Microsoft文档

地址空间布局随机化(ASLR)

随机排列进程关键数据区域的地址空间位置,包括可执行文件的基以及堆栈、堆和库的位置。防止利用内存损坏漏洞。你可以阅读关于ASLR的更多信息在维基百科上。

高性能64位ASLR(仅在64位应用中)

允许ASLR尽可能使用整个64位地址空间请在此处阅读

终端服务

创建终端服务器感知(TSAWARE)应用程序。这与安全无关,由Microsoft负责在这里

RAD Studio改进的支持

While期间之前存在编译器标志,RAD Studio IDE现在将这些标志作为链接器选项公开。您可以在下面看到Delphi和C++Windows编译器的设置(感谢吉姆·麦基思)

旗标111_01-2313780

旗标111_02-3606655

几点注意事项

对于使用运行时包的Delphi应用程序,ASLR编译器配置的工作方式与预期一样。对于在可执行文件的库中链接的程序,程序引用延迟加载的DLL函数的方式存在冲突,这妨碍了预期的行为。这是Embarcadero在发布后发现的问题,将在不久的将来提供修复。

如下所示,对于带有运行时包的应用程序,您可以获得适当的配置,如SysInternals Process Explorer所示:

旗标111_03-9363841

通常,这些标志强制实施安全性,使用低级代码的应用程序可能不再正常运行。例如,我们发现一些旧的ActiveX控件由于与DEP标志冲突而不再在IDE中工作。

如果您发现应用程序有任何问题,可以禁用这些标志,但我们建议调查根本问题,因为一些公司要求他们使用的所有软件都要启用Microsoft推荐的所有安全标志。

接下来:无论你是初学者还是专业人士编译器资源管理器本教程将帮助您记住C++编程中必不可少的语言特性。

有兴趣使用Embarcadero的IDE软件? 它将帮助您使用一个适用于Windows、Android、iOS、macOS和Linux的Codebase更快地构建应用程序。 在此处请求免费试用


使用RAD Studio、Delphi或C++Builder缩短开发时间并更快地推向市场。
设计。代码。编译。部署。
开始免费试用   立即升级

   免费Delphi社区版   免费C++Builder社区版

关于作者

Marco是RAD Studio产品经理之一,专注于Delphi。他是20多本关于德尔菲的书中最畅销的作者。

3评论

留下回复

此网站使用Akismet来减少垃圾邮件。了解如何处理您的评论数据

在条款中