LBE安全大师免root原理

现在LBE安全大师v5.1的免root功能非常的吸引眼球,也是网上讨论的热点,至于免root原理小菜也是很想知道的,以下是小菜之前在网上看到的解析,特意转载过来和大家分享下


众所周知,要卸载系统应用,需要 ROOT 权限。实际上,只是需要 system 文件夹的操作权限而已,ROOT 的第三方应用获取系统目录操作权限的最基本条件。到现在也是。

那我们来看一下 LEB 这次更新是通过什么手段来实现的不 ROOT 也可以卸载系统应用的。
新版 LEB 如果要解锁应用卸载的话,需要开启主动防御。主动防御有两种方式,免ROOT启动ROOT授权启动ROOT授权启动这里就不提了。我们来说一下免ROOT启动
如图,点击免ROOT启动,会提示先修复 MasterKey 漏洞。

我们点击获取系统补丁。会下载一个安装包并且进入安装模式。


使用过 Android 手机的同学这时候应该会注意到什么。没错,这是更新。而不是重新安装。有同学就问了,我之前没有安装过一个叫做 “LBE Master Key漏洞补丁” 的东西啊,怎么会是更新呢?没错,这就是 LBE 利用 Master Key 漏洞 实现的更新系统应用。安装之后就会重启,重启之后就可以开启安全防御了。这时候什么卸载系统应用,权限管理等操作都可以实现。这些我们不关心。我们去看看“LBE Master Key漏洞补丁”这货到底是个什么。为什么安装了它就可以实现 免ROOT 模式。我们去系统设置,应用里面找到它。如图。


事实再一次证明我们是正确的。有一个卸载更新的按钮,这个时候应该一部分同学知道了。只有更新的系统应用才会有卸载更新,否则只有卸载。那我们来卸载更新来看看它到底替换了哪个应用。卸载之后露出了真身。如图


Icon 和 VersionName 都没换,只是加了自己的代码。换了 APP 的名字。

所以,LEB 的 免 ROOT 的实现原理就是,通过利用 Master Key 漏洞替换系统本身应用而实现加载自己的代码。这个时候自己的代码拥有最高权限。便可以实现卸载系统应用,权限管理等操作。

我们再说一下为什么 LBE 要替换 Settings Storage 这个应用。简单的说 Settings Storage 是一个 Android 内部程序,在 Android 开机时就会加载,这也是 LBE 要在开机时把自己的代码 HOOK 到系统上的必要条件。

那为什么 LBE 可以替换系统内部应用呢。其实就是利用了 Master Key 漏洞。在不修改 APP 签名的同时可以修改 APP 的代码。LBE 拿到 Settings Storage 这个 APP。反编译,修改代码,重新打包。就可轻易实现了。而关于 Master Key 漏洞,下面的 Android 的源码应该可以说明了。这里就不详解。

再说一下,这个漏洞真的很危险么?其实只要你做到不允许安装来自 Google Play 以外其他来源的应用。这个漏洞根本影响不到你的。实际上 Google 在 8 月已经向各大手机厂商提交了该漏洞的补丁,并且对 Google Play 上的应用做了关于该漏洞的扫描。而且 Google Play 不允许提交同系统包名一样的 APP。也就不会存在替换系统应用的现象。

刚才刚好研究了一下这货,然后很悲伤的发现……
这货可以不Root也能卸载预装软件的原因在于利用了MaterKey这个号称『99%』的漏洞
LBE为MaterKey特制的补丁允许以高权限运行指定代码,使得系统删除预装软件,按照LBE官方的说法,这个通过漏洞安装上去的『补丁』可以完全实现Root的效果
就我个人观察来看,首先这个漏洞并不靠谱,使用中很容易出现系统自动重启的现象,再一个是LBE对于他们自己的补丁检测有问题,经常识别不能====放点干货====
进入无需Root的这个界面,有点小动作
之后,LBE下载了一个补丁存放到本地
这个文件大家可以自己提取,看看到底干了啥
再然后,机器自动重启,嘣!
被替换掉的libclient.so爆炸了~~~

看来LBE的人只编译了ARM的版本啊,怪不得X86会自爆
libclient.so是什么?嘛……LBE替换了这货就获得了Root等级的权限哦,有心者自己研究吧~~~
总之,少部分Moto手机用户用这玩意的时候小心点,无限崩溃就不好了

(转载自知乎,原文链接http://www.zhihu.com/question/21780900)


关于小菜

有认识我的友友吗?

3 comments:

回复 无纯洁 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注