V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lynnharry
V2EX  ›  Android

用户自己安装的手机厂商开发的软件,是如何获得类似于 root 权限的?

  •  
  •   lynnharry · 2020-03-22 13:46:41 +08:00 · 2252 次点击
    这是一个创建于 828 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有的厂商会提供一些用户可以自己安装的软件,如魅族的 google 安装器,三星的 one hand operation,这些软件所提供的功能都是需要 root 权限的,这些软件是如何做到的?是系统预先给一些 app 留了后门吗?
    6 条回复    2020-03-23 15:36:29 +08:00
    singerll
        1
    singerll  
       2020-03-22 14:06:19 +08:00 via Android
    好像是在系统分区预置了同名的包,安装时直接替换了?
    hanqian
        2
    hanqian  
       2020-03-22 14:13:29 +08:00
    估计和以前 EMUI 通过 lzplay.net 安装 GMS 差不多
    seers
        3
    seers  
       2020-03-22 14:15:42 +08:00
    私有 api
    h4de5
        4
    h4de5  
       2020-03-22 15:23:43 +08:00   ❤️ 5
    做过一些 Android Framework 开发工作,总结下我知道的原理吧。
    1.签名,就是第三方应用和系统应用采用同一个私钥签名,并且声明为系统应用那么这个应用程序就非常无敌了。他不需要获取 /bin/su 权限,能做 root 权限的功能,还可以调用系统的私有 api 。一般我们定制 room 系统的一些应用会采用这种方式,比如你手机里面无法删除的那些大部分应用都采用系统应用的方式。可以参考我发布到酷安的这个应用程序。https://www.coolapk.com/apk/com.android.testsystempermission
    2.系统中应用白名单,这种针对系统内置一个搜狗输入法,一个百度输入法,手机厂商不可能把自己的系统签名给到百度或者搜狗,他就放置一个 baiduinput.apk souguoinpu.apk 这样输入法软件是私有的,权限比较低,但是也不会被卸载。
    参考 https://www.cnblogs.com/wangjie1990/p/11327598.html
    https://source.android.com/devices/tech/config/perms-whitelist
    Zeham
        5
    Zeham  
       2020-03-23 10:12:27 +08:00
    @h4de5 的确是这样,不过 room 打错了,哈哈哈哈哈
    h4de5
        6
    h4de5  
       2020-03-23 15:36:29 +08:00
    @Zeham 哈哈手残打快了。是 rom
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1163 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:32 · PVG 03:32 · LAX 12:32 · JFK 15:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.