Vista的UAC对话框真在会话0吗

互联网 | 编辑: 董宇成 2007-04-16 09:30:00转载 一键看全文

UAC对话框位于哪个会话?

UAC对话框位于哪个会话?

了解了什么叫做会话,接下来就可以查看UAC对话框位于哪个会话了。然而由于UAC对话框位于安全桌面,非常安全,连截图软件都不能正常工作,所以很难用工具对其进行监控。但是方法总是有的:

1. 借助Windows Server Longhorn

我们完全可以借助Windows Server Longhorn进行测试,这是因为Longhorn支持终端服务,我们可以远程登录,打开另外一个会话(Session 2),在Session 2里用Process Explorer等工具查看Session 1里的UAC对话框。

这个方法,在盆盆的《Windows Vista用户帐户控制深度剖析》一文中已有描述(参阅“毁誉参半的安全桌面”部分),此处不再赘述。

2. 借助Process Monitor

尽管其他进程无法监控UAC对话框,但是Process Monitor可以。只需事先运行Process Monitor,然后随便启动一个需要提升权限的程序,即可打开UAC对话框,可以选择继续或者取消,然后查看Process Monitor的日志,如附图所示。

图1

从图中可以看到Session ID为1,而不是0!也就是说UAC对话框也运行在用户会话中!

然而更有趣的事情还在后面!

看到图中的Auth ID了吗?是一串古怪的数字00000000:000003e7,稍微了解Windows安全的朋友都知道,这代表System登录会话(System Logon Session)。

好嘛,现在完全乱套了,又是会话、又是登录会话,这都哪跟哪呀?

盆盆注释:“登录会话”和“会话”完全是两码事。“会话”来自终端服务的概念;而“登录会话”则用来代表每个登录用户的身份。

不过这不妨碍我们用Logonsessions命令来查看登录会话和会话之间的对应关系(这又是一个Mark Russinovich开发的工具!),如附图所示。

图2

从图中可以看到“00000000:000003e7”这个登录会话,其对应的“User Name”是“MARKVISTA$”,这是盆盆测试用机器的计算机名,其SID为S-1-5-18,熟悉的朋友一看就知道是SYSTEM账户。说明这个登录会话就是System登录会话,也叫做999登录会话。

盆盆注释:999这个数值,和三九胃泰,还有999皮炎平等一点关系也没有,实际上999是"3e7"的十进制数值。

从图中可以看到,System登录会话一般对应于会话0,但是奇怪的是,UAC对话框虽然位于System登录会话,但是却占据会话1。这让盆盆困惑不解。

盆盆注释:图2中System登录会话的“Logon time”,可以看成是计算机的启动时间,而不是用户的登录时间。

提示:试试键盘 “← →” 可以实现快速翻页 

总共 2 页< 上一页12
一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑