Windows UAC 实现原理
文章目录 Windows UAC 实现原理 1. 工作流程 2. UAC 实现方法(用户登陆过程) 3. UAC 架构 4. 触发UAC 5. UAC 虚拟化 5.1 文件虚拟化(File Virtualization) 5.2 注册表虚拟化 6. UAC进程启动原理 6.1 ShellExecuteExW的执行过程 6.2 _SHCreateProcess 6.3 AicLaunchAdminProcess 6.4 返回 6.5 svchost 服务 7. 总结 Windows UAC 实现原理 在XP的时代,只要是管理员权限的用户,就基本可以为所欲为了,这给编程者带来的方便(例如编程的时候随便干什么事情都是被允许的),但是给客户的使用带来了很大的危害,因为用户权限太大,如果被别有用心的人利用,那么可以非常容易做所有的事情。 从vista开始,微软引入了UAC,解决了这种不安全性,下面看一下UAC的基础知识信息。 1. 工作流程 UAC 是微软在 Windows Vista 以后版本引入的一种安全机制,通过 UAC,应用程序和任务可始终在非管理员帐户的安全上下文中运行,除非管理员特别授予管理员级别的系统访问权限。UAC 可以阻止未经授权的应用程序自动进行安装,并防止无意中更改系统设置。 从图上可以看到,如果要获取管理员权限,通过的路径有以下几条: 进程已经拥有管理权限控制;