1.什么是UAC?
用户账户控制,User Account Control
首先我们看一下程序启动后,UAC的流程图:
如果关闭UAC,则程序会提权运行。
Privilege Contents:
如果启动了UAC,程序要求提权运行或者以管理员身份运行的时候,System会启动Consent.exe进程。
在UAC开启的情况下,即使用户选择否,也会开启UAC虚拟化:
1.UAC虚拟化后,应用程序会重定向到其他位置,用户依然可以正常使用程序,但应用程序写入的数据不会在真实系统生效,以防止病毒操作造成系统核心文件被破坏、感染等后果。
2.虚拟化能够改善程序兼容性,即上一点提到的,UAC会将文件和注册表写入操作放至特殊位置。
什么情况下会触发UAC:
1、UAC只有在程序试图影响系统操作的情况下会触发
2、申请提权的操作大多是程序员自己触发的提权的,提权的目的就在于Privilege Content提到的几种操作。
3、只有少数情况系统本身会触发UAC,例如安装服务之类的。&