注册表
注册表是windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心“数据库”,也可以说是一个非常巨大的树状分层结构的数据库系统。
注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性。
如果程序exe需要申请管理员权限运行。那么它会触发系统的UAC弹窗。如果我们把这个exe降权,设置为以标准用户权限运行,则不会触发UAC弹窗机制。
如下修改:
修改注册表:在 HKEY_CURRENT_USERS\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers 键下面新建值,值的名字是程序的全路径,值数据是“RunAsInvoker”。
如是要将普通权限运行的程序exe提权为管理员权限运行,可以在同一位置下建立新建值,值数据设置为“RUNASADMIN”。或者直接改exe文件的属性为:以管理员权限运行。
UAC
桌面分为三层,分别是 Winlogon Desktop、Screensaver Desktop、Application Desktop。
所有的应用都运行在 Application Desktop 上( UAC 不算)。UAC是在 Winlogon Desktop 上弹出的窗口。
也就是说,应用程序的窗口 UAC 抓不到。
UAC 主要是用来区别标准用户和管理员用户的。它并没有白名单的功能。 当一个软件运行且需要管理员权限且用户没有管理员权限的时候, 就会弹出UAC框要求输入管理员