V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
HFX3389
V2EX  ›  问与答

为什么 QQ、微信、企业微信这些程序的更新都需要管理员权限?

  •  
  •   HFX3389 · 50 天前 · 1521 次点击
    这是一个创建于 50 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:身份是乙方,我部署了大约 50 多台的公共电脑,系统是Windows 10,统一把管理员Administrator都加了密码,使用了 C 盘保护软件(在 PE 下会显示 C 盘未初始化所以不用怕密码在 PE 下被修改),这些公共电脑只能使用标准账户User,只保护 C 盘,D 、E 、F 盘都是开放的。

    我把一些需要使用的软件比如 QQ 、微信、企业微信使用管理员权限都安装在 D 盘(安装包打开需要管理员权限),现在的 QQ 使用了所谓新架构所以更新还是比较频繁的,之前部署时用的QQ9.9.12_240715版本号,部署统一在20240725之前完成了,但现在就有新版本QQ9.9.12_240729

    这些软件在标准用户下可以完美运行,我原本以为这些软件在 D 盘,即使自更新也就覆盖掉自己D:\Program Files\或者里面D:\Program Files (x86)\的文件就行了,不需要管理员权限。

    结果今天尝试了一下,QQ 和微信这俩软件的更新都是需要管理员权限才能更新...

    不是很明白为啥要这样设计,Chrome 更新的这么频繁也没有要管理员权限啊,一关一开就更新好了...

    我担心的就是国产软件有一个特点就是喜欢强制更新,版本号差距太大就强制更新,不更新不让登录,这我就很难办啊

    有什么解决方案吗...

    18 条回复    2024-08-07 00:08:41 +08:00
    xmumiffy
        1
    xmumiffy  
       49 天前 via Android
    你选了 d 盘,实际还有文件在 c program files 下的,而 chrome 是 user data 下
    GooMS
        2
    GooMS  
       49 天前 via Android
    没有权限弹窗都是利用了 user/appdata 目录。
    这个几个应用你得自己打 MSI 糊个脚本 非常 sb 我也想知道有什么更优雅的办法
    SkywalkerJi
        3
    SkywalkerJi  
       49 天前 via Android
    QQ 可是拿着驱动级权限,基本什么都能干,监听内存注入其他进程都是小意思。
    大部分的游戏反作弊系统都没 qq 一个聊天软件的权限高。
    yyzh
        4
    yyzh  
       49 天前 via Android
    @xmumiffy chrome 有些奇怪设置的.你如果安装的时候直接右键管理员去装它就会装去 program file 而且会自动更新,但是如果直接双击运行安装程序那就会装去 userdata 而且自动更新会报错,挺奇特的
    ysc3839
        5
    ysc3839  
       49 天前
    因为系统盘的 Program Files 需要管理员权限才可写,所以安装程序干脆不做检查一律要求授权。
    除此之外 QQ 等许多国产软件还会安装系统服务甚至内核驱动,都是需要管理员权限的。
    ysc3839
        6
    ysc3839  
       49 天前
    Chrome 更新不需要管理员权限是因为首次安装时安装了系统服务,“保留”了管理员权限,同时更新时利用这个服务实现免额外授权。
    理论上其他软件也能这么做,但是它们不注重用户体验,就没做。
    ruimz
        7
    ruimz  
       49 天前 via iPhone
    并不觉像 Chrome 这样问也不问关也关不掉就直接往 C 盘 users 文件夹里拉屎更好
    sutking
        8
    sutking  
       49 天前 via iPhone
    请教一下:op 这里的 C 盘保护是怎么做到的?
    kekeones
        9
    kekeones  
       48 天前
    同问,是如何保护的
    wangyuescr
        10
    wangyuescr  
       48 天前
    安装在 C 盘 public 用户怎么样?
    使用夺权软件生成管理员运行配置文件怎么样? RunAsSpc 夺权软件
    jim9606
        11
    jim9606  
       47 天前
    你都不知道如果没提权,安装时会遇上什么问题:
    1.提权运行最简单的方法就是安装程序的 manifest 声明,但这样就没得选,不授权就不运行,也没法先让用户选择安装目录再决定是不是提权。运行时提权的方法需要平台 api ,许多跨平台框架压根没法指定这个。
    2.虽然不是系统定义的特权目录,但如果是重装过系统或者拆装硬盘,既有目录很容易遇上 NTFS 文件读写权限问题,夺权通常都需要提权
    3.反正 UAC 现在也不是很敏感的事,米家的几个游戏为了不残留“间谍软件”(其实只是反作弊驱动)干脆每次运行都提权现安驱动了,好像用户更喜欢这种其实没必要的提权而不是装一个要靠卸载程序收尾的提权服务
    4. 我印象里 NTQQ 自己搞绿化安装时可以用的,而且没有 qqprotect 了
    5. 微信和 QQ 曾经在微软商店上过无 qqprotect 的 win32 转 msix 封装版本,这个肯定可以无特权安装运行,就是过于古老了
    HFX3389
        12
    HFX3389  
    OP
       47 天前
    @ruimz #7 Chrome 往 C 盘 users 文件夹里拉屎,这些拿到 UAC 特权的整个硬盘都可以随便拉 ,还可以更上强度的拉,所以比烂没意义呀
    HFX3389
        13
    HFX3389  
    OP
       47 天前
    @sutking #8
    @kekeones #9
    一款类似冰点还原的软件
    HFX3389
        14
    HFX3389  
    OP
       47 天前
    @jim9606 #11

    前两点确实,

    UAC 在一般用户看来确实没什么用甚至网上一大堆教程和优化系统都把 UAC 关掉,但是现在它在我的这个环境下就是好东西,如果直接上管理员账户非常容易被搞破坏,比如从网上下一些 ARK 工具随意删除和卸载驱动等操作,更具体的就不说,每次出事还是要我来擦屁股

    每个奇怪的规定,后面都有一个甚至数个奇葩的经典案例。

    我主要是担心 **国产软件有一个特点就是喜欢强制更新,版本号差距太大就强制更新,不更新不让登录** 这一点。
    HFX3389
        15
    HFX3389  
    OP
       47 天前
    @wangyuescr #10
    没试过安装在 C 盘 public 用户,有空找个虚拟机试试。

    RunAsSpc 、runastool 这类软件我也有想过,但是仅针对国产软件更新就有点麻烦,之前使用过 runastool ,但因为假如像 QQNT 这种更新比较快的软件,就不能勾选“运行前检查文件大小”功能。

    勾选了更新后就弹禁止运行提示因为大小变了,不勾选的话可以直接把 EXE 替换成 CMD ,双击打开然后就可以直接 net user Administrator 123456 了...

    如果可以以数字签名或者数字证书来限制就好了,比如设置`D:\Program Files\Tencent`下的所有需要提权的 EXE 有腾讯的数字证书的直接放行,连 MS 证书都不放行就放行腾讯的证书:D
    wangyuescr
        16
    wangyuescr  
       45 天前   ❤️ 1
    @HFX3389
    “安装在 C 盘 public 用户”,别试了,我今天试过。
    有道词典,安装在 C 盘 public 用户,也在管理员下修改文件夹权限对要登陆的域用户是所有。在域用户下更新有道词典到安装的时候还是要输入管理员账号密码
    HFX3389
        17
    HFX3389  
    OP
       45 天前 via iPhone
    @wangyuescr 没有好的解决办法太难了
    wangyuescr
        18
    wangyuescr  
       45 天前
    @HFX3389 看下你们买的桌面终端管理软件比如 EDR 有没有买类似提权的功能
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2613 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:58 · PVG 17:58 · LAX 02:58 · JFK 05:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.