简体   繁体   English

Delphi Xe2和Microsoft app认证工具包

[英]Delphi Xe2 and Microsoft app certification kit

as object, I'm trying to perform compatibility test for Windows 8: any application compiled with Delphi XE or XE2 fails the test "Windows security best practices test" and in particular the test "Attack surface analyzer" with the following error: 作为对象,我正在尝试为Windows 8执行兼容性测试:使用Delphi XE或XE2编译的任何应用程序都无法通过测试“Windows安全最佳实践测试” ,尤其是测试“攻击面分析器” ,并出现以下错误:

Weak ACL on MyExecutable.exe allows tampering by multiple non-administrator accounts. MyExecutable.exe上的弱ACL允许篡改多个非管理员帐户。

File: MyExecutable.exe Writable by: Authenticated Users Rights: FILE_WRITE_ATTRIBUTES, FILE_WRITE_EA, FILE_APPEND_DATA, FILE_WRITE_DATA 文件:MyExecutable.exe可写:经过身份验证的用户权限:FILE_WRITE_ATTRIBUTES,FILE_WRITE_EA,FILE_APPEND_DATA,FILE_WRITE_DATA

I also tried with a simple empty project but I always get the same error, and this allows me to obtain the status of "compatible with windows 8". 我也试过一个简单的空项目,但我总是得到相同的错误,这使我可以获得“与Windows 8兼容”的状态。

Can anyone help me? 谁能帮我?

These links explain something about it: http://blogs.msdn.com/b/openspecification/archive/2010/04/01/about-the-access-mask-structure.aspx http://msdn.microsoft.com/library/windows/apps/hh750314.aspx#asa 这些链接解释了它的一些内容: http//blogs.msdn.com/b/openspecification/archive/2010/04/01/about-the-access-mask-structure.aspx http://msdn.microsoft.com/库/窗/应用/ hh750314.aspx#ASA

regards Daniele 丹妮尔

after further investigation and insights I have determined that the problem isn't the compiler but the acl defined on the executable. 经过进一步调查和见解后,我确定问题不是编译器,而是可执行文件中定义的acl。 You can change the acl after installation through various tools including cacls.exe of microsoft (http://technet.microsoft.com/en-us/library/bb490872.aspx) 您可以通过各种工具安装后更改acl,包括cacls.exe of microsoft(http://technet.microsoft.com/en-us/library/bb490872.aspx)

Eg: cacls.exe MYEXE.EXE / E / G "Everyone: R" only sets the permissions of "Read" and "Read & Execute" to the group "Everyone" 例如: cacls.exe MYEXE.EXE / E / G“Everyone:R”仅将“Read”和“Read and Execute”的权限设置为“Everyone”组

Thanks anyway to everyone. 无论如何,谢谢大家。

greetings daniele 问候daniele

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM