
//
//
//
//
//
//
//
//
//
//
软件Tags:
AsInvoker(exe文件降权工具)是一款由吾爱论坛的热心网友分享的Windows下运行程序降权工具。该工具界面简洁,体积轻巧,使用起来极为便捷,能够使需要管理员权限的程序以当前用户权限启动,进而移除exe程序中的管理员权限请求。诚邀大家下载并体验。
之前遇到不少实用的程序,却需以管理员权限运行,譬如我记不清名称的某款苹果越狱助手。调试这样的软件时,调试器也需以管理员权限重启,既繁琐又不太安全。
Windows 有两种方式来判断在打开程序时是否需要弹出UAC窗口:
- 程序可以包含一个清单文件,要求以管理员权限运行。
- 程序的名称、描述等字段中存在特定关键字,使得系统将其视为安装包或更新器。
AsInvoker 能够修改程序的清单,将请求的管理员权限替换为调用程序的权限(通常为普通用户权限)。若程序未包含清单,则会写入一个默认清单,从而覆盖Windows的安装包检测。
这是我在短短两个晚上内编写的工具,可能存在一些bug,例如对不同语言的exe支持等问题。欢迎大家提出改进意见!
本工具仅会清除管理员权限的要求,无法保证原程序的正常运行。请务必自行备份原程序。
用法:AsInvoker.exe 目标.exe
或者直接将目标程序拖放至AsInvoker上。
AsInvoker 利用 kernel32.dll 中的资源API,从exe文件中读取程序清单,搜索requestedExecutionLevel元素,并替换掉管理员权限的请求。
如果在Resource Hacker中打开降权后的程序,可以发现原有的清单文件依然存在于资源中。
这意味着修改后的程序实际上同时包含两个程序清单。
然而,修改后的清单排在原版清单之前,这大概是其生效的原因。
我目前尚不清楚如何删除原有的清单。如果调用UpdateResource并将lpData和cb置为零,系统会直接报错为无效参数,并且无法添加新的清单或保存修改。
