据我所知,由于缺少 SafeSEH,32 位 Delphi 桌面应用程序无法通过Windows 8 认证桌面 Delphi 应用程序是否可以通过 Windows 8 认证
但是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 部分