有的厂商会提供一些用户可以自己安装的软件,如魅族的 google 安装器,三星的 one hand operation,这些软件所提供的功能都是需要 root 权限的,这些软件是如何做到的?是系统预先给一些 app 留了后门吗?
1
singerll Mar 22, 2020 via Android
好像是在系统分区预置了同名的包,安装时直接替换了?
|
2
XnEnokq9vkvVq4 Mar 22, 2020
估计和以前 EMUI 通过 lzplay.net 安装 GMS 差不多
|
3
seers Mar 22, 2020
私有 api
|
4
h4de5 Mar 22, 2020 做过一些 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 |