Windows 7使用自动机制来检测应用程序是否需要提升管理员权限。或者应用程序本身有一个清单。
有没有办法以编程方式确定指定的应用程序是否需要提升的管理员权限?我不想启动它来找出答案。
谢谢;)。
发布于 2011-10-08 22:25:11
只有一种方法可以告诉Windows程序需要提升,那就是通过清单文件。清单文件可以嵌入在程序集中(exe/dll),也可以位于名为<YOUR_APP>.exe.manifest的单独文件中。这真的是唯一的方法,也可能是唯一可以安全检查的方法。正式的。
Windows还包含一个用于应用程序兼容性的巨型数据库。如果微软测试了一个应用程序,发现它在操作系统升级时崩溃,他们有时会在数据库中创建一个条目,本质上是对应用程序进行黑客攻击。有时他们会谎报当前的操作系统版本,有时他们会自动以管理员身份运行,有时他们会做很多其他的事情。您可以使用Application Compatibility Toolkit查看数据库。我不知道是否有通过代码查询数据库的官方方法。This blog post谈到了博客作者制作的一个工具,但显然从未发布过。
最后一个自动提升机制是尝试确定应用程序是否是安装程序的算法。According to MSDN将检查以下属性:
关键字和字节序列是从从各种安装程序技术观察到的共同特征中导出的。
最后,应用程序可以作为普通用户运行,而不是spawn a child process that requires elevated privileges用户。我不知道除了反编译应用本身之外,是否真的有任何方法可以检测到这一点。
https://stackoverflow.com/questions/7696845
复制相似问题