Cloutain / uiaccess

通过System令牌获取UIAccess

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

通过System令牌获取UIAccess

此项目用于获取UIAccess权限,它可以让你的程序窗口获得更高的Z序,比如高于任务管理器等。详情见关于窗口Z序的介绍,和它的翻译版

用法

程序最好设置请求管理员权限的清单,或者通过某个已提权的进程启动,否则获取不到UIAccess。加入头文件和源文件后,在程序的最开头加入PrepareForUIAccess()即可。返回值为错误代码。

流程

调用PrepareForUIAccess函数的程序获取UIAccess权限的步骤为:

  • Step1 进程以管理员权限启动(进程A),它遍历进程列表,尝试获取具有SeTcbPrivilege权限的进程令牌,并用它启动另一进程B,此进程权限较高,可用于设置TokenUIAccess
  • Step2 A通过命名管道与B通信,传递一个普通的进程令牌并进入等待,B调用SetTokenInformation设置UIAccess标志,然后退出。
  • Step3 A检查令牌是否已有UIAccess权限,如果是,用它启动进程C,此时C具有此权限,所以PrepareForUIAccess返回ERROR_SUCCESS;否则返回错误代码。

建议

使用这个权限的程序最好不要启动其他程序,包括CreateProcess*,ShellExecute*等等,因为新启动的程序默认会继承此UIAccess权限。

About

通过System令牌获取UIAccess


Languages

Language:C 100.0%