【发布时间】:2014-12-20 20:05:47
【问题描述】:
据我所知,32 位 Delphi 桌面应用程序无法通过 Can a desktop Delphi application be certified for Windows 8 获得 SafeSEH 认证,因此无法支持 Windows 8.1
但是 64 位 Delphi 桌面 应用程序呢?他们能否通过其他要求,因为他们不必满足 SafeSEH 要求?
如果答案是肯定的,是否有任何编译器/链接器设置必须设置为特定值,以及所需的最低 Delphi 版本是多少(显然至少是 XE2)。
我正在特别考虑认证要求的第 3 部分。
3.应用支持 Windows 安全功能
Windows 操作系统具有许多支持系统安全和隐私的功能。应用程序必须支持这些功能以维护操作系统的完整性。不正确编译的应用程序可能会导致缓冲区溢出,进而导致拒绝服务或允许执行恶意代码。
3.1。您的应用不得使用 AllowPartiallyTrustedCallersAttribute (APTCA) 来确保安全访问强名称程序集
3.2 必须使用 /SafeSEH 标志编译您的应用,以确保安全的异常处理(仅限 32 位)
3.3 必须使用 /NXCOMPAT 标志编译您的应用程序以防止数据执行
3.4 必须使用 /DYNAMICBASE 标志编译您的应用程序以实现地址空间布局随机化 (ASLR)
3.5 您的应用不得读/写共享 PE 部分
【问题讨论】:
标签: delphi windows-8 windows-8.1 app-certification-kit