首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定应用程序是否需要管理员权限

确定应用程序是否需要管理员权限
EN

Stack Overflow用户
提问于 2011-10-08 20:37:39
回答 1查看 3.3K关注 0票数 8

Windows 7使用自动机制来检测应用程序是否需要提升管理员权限。或者应用程序本身有一个清单。

有没有办法以编程方式确定指定的应用程序是否需要提升的管理员权限?我不想启动它来找出答案。

谢谢;)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-08 22:25:11

只有一种方法可以告诉Windows程序需要提升,那就是通过清单文件。清单文件可以嵌入在程序集中(exe/dll),也可以位于名为<YOUR_APP>.exe.manifest的单独文件中。这真的是唯一的方法,也可能是唯一可以安全检查的方法。正式的。

Windows还包含一个用于应用程序兼容性的巨型数据库。如果微软测试了一个应用程序,发现它在操作系统升级时崩溃,他们有时会在数据库中创建一个条目,本质上是对应用程序进行黑客攻击。有时他们会谎报当前的操作系统版本,有时他们会自动以管理员身份运行,有时他们会做很多其他的事情。您可以使用Application Compatibility Toolkit查看数据库。我不知道是否有通过代码查询数据库的官方方法。This blog post谈到了博客作者制作的一个工具,但显然从未发布过。

最后一个自动提升机制是尝试确定应用程序是否是安装程序的算法。According to MSDN将检查以下属性:

  • 文件名包括"install“、"setup”、"update“等关键字。以下版本控制资源字段中的
  • 关键字:供应商、公司名称、产品名称、文件说明、原始文件名、内部名称以及并排清单中的导出StringTable。

关键字和字节序列是从从各种安装程序技术观察到的共同特征中导出的。

最后,应用程序可以作为普通用户运行,而不是spawn a child process that requires elevated privileges用户。我不知道除了反编译应用本身之外,是否真的有任何方法可以检测到这一点。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7696845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档