分享好友 最新动态首页 最新动态分类 切换频道
Android 操作系统获取Root权限 原理详细解析
2024-12-27 05:01

许多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简单及安全的,破解Root权限的原理就是在手机的/system/bin/或/system/xbin/目录下放置一个可执行文件“su”

android root权限破解分析

许多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简单及安全的,破解Root权限的原理就是在手机的/system/bin/或/system/xbin/目录下放置一个可执行文件“su”,这是一个二进制文件,相当于电脑上的exe文件,仅仅在系统中置入这个“su”文件是不会给手机的软件或硬件造成任何故障。

下面的代码是android系统原版的su中的部分代码,可以看出只允许getuid()为AID_ROOT和AID_SHELL的进程可以使用su进行登陆。


面在Superuser这个android程序中的su不再有上面的一部分,这样任何进程都可以使用su进行登陆了,有一部分android程序要使用root权限可能的用法类似于(这个也是Superuser中的一部分代码

而在上面提到的Superuser和android程序中的su源码中都有这部分代码

看上去这里就是进行权限切换的地方了。面普通用户要能使用su,su的权限要是这样

-rwsr-xr-x. 1 root root 34904 11月 3 2010 /bin/su

这个和电脑版的su上是一样的。

从出上面的分析可以认为破解android的root权限的实质是:在系统中加入一个任何用户都可能用于登陆的su命令。当然这首先要取得root权限才能做

到。在z4root这个android下的破解android的root权限的程序中有一个rageagainstthecage,可能就是设法得到root权限的程序。


第二篇文章

如果你进行过程序开发,在root过的手机上面获得root权限的代码如下


从上面代码我们可以看到首先要运行su程序,其实root的秘密都在su程序中,《android root权限破解分析》中讲到Android系统默认的su程序只能root和shell可以用运行su,这个是安全的。如果把这个限制拿掉,就是root破解了

下面我们仔细分析一下程序是怎样获得root权限的,如果对Linux的su命令熟悉的朋友可能知道su程序都设置SUID位,我们查看一下我的手机(已经root破解)上的su权限设置

再强调一下不光root手机上su需要设置SUID,所有的Linux系统上的su程序都需要设置SUID位。请参考一下UC服务器的su的权限情况

我们发现su也设置了SUID位,这样普通用户也可以运行su程序,su程序会验证root密码,如果正确su程序可以把用户权限提高的root(因为其设置SUID位,运行期是root权限,这样其有权限提升自己的权限)。

这样我们就可以看出其实Android系统的破解的根本原理就是替换掉系统中的su程序,因为系统中的默认su程序需要验证实际用户权限(只有root和 shell用户才有权运行系统默认的su程序,其他用户运行都会返回错误)。而破解后的su将不检查实际用户权限,这样普通的用户也将可以运行su程序, 也可以通过su程序将自己的权限提升。

到这里大家对root破解不感到神秘了吧。root破解没有利用什么Linux内核漏洞(Linux内核不可能有这么大的漏洞存在,可以理解成root 破解就是在你系统中植入“木马su”,说它是“木马”一点儿都不为过,假如恶意程序在系统中运行也可以通过su来提升自己的权限的这样的结果将会是灾难性 的。所以一般情况下root过手机都会有一个SuperUser应用程序来让用户管理允许谁获得root权限,也算是给系统加了一层保险吧

通过上文《Android系统root破解原理分析》 的介绍大家应该明白了root破解过程的终极目标是替换掉系统中的su程序。但是要想替换掉系统中su程序本身就是需要root权限的,怎样在root破 解过程中获得root权限,成为我们研究的重点了。下面我们先清点一下我们需要破解系统情况,假设需要破解的Android系统具备如下条件


要想理解root破解过程我们首先需要了解一下adb工具,SDK中包含adb工具,设备端有adbd服务程序后台 运行,为开发机的adb程序提供服务,adbd的权限,决定了adb的权限。具体用户可查看/system/core/adb下的源码,查看 Android.mk你将会发现adb和adbd其实是一份代码,然后通过宏来编译。

查看adb.c的adb_main函数你将会发现adbd中有如下代码


从中我们可以看到adbd会检测系统的ro.secure属性,如果该属性为1则将会把自己的用户权限降级成shell用户。一般设备出厂的时候在/default.prop文件中都会有

这样将会使adbd启动的时候自动降级成shell用户。

然后我们再介绍一下adbd在什么时候启动的呢?答案是在init.rc中配置的系统服务,由init进程启动。我们查看init.rc中有如下内容


对Android属性系统少有了解的朋友将会知道,在init.rc中配置的系统服务启动的时候都是root权限(因为init进行是root权限,其子程序也是root)。由此我们可以知道在adbd程序在执行

代码之前都是root权限,只有执行这两句之后才变成shell权限的。

这样我们就可以引出root破解过程中获得root权限的方法了,那就是让以上面setgid和setuid函数执行失败,也就是降级失败,那就继续在root权限下面运行了。

这其实利用了一个RageAgainstTheCage漏洞,具体分析请参考《Android adb setuid提权漏洞的分析》和《RageAgainstTheCage》。这里面做一个简单说明


通过上面的介绍我们发现利用RageAgainstTheCage漏洞,可以使adbd获得root权限,也就是adb获得了root权限。拿到root权限剩下的问题就好办了,复制破解之后的su程序到系统中(见上文《Android系统root破解原理分析》的介绍,都是没有什么技术含量的事情了。

其实堵住adbd的这个漏洞其实也挺简单的


如果发现setgid和setuid函数执行失败,则adbd进程异常退出,就把这个漏洞给堵上了。为什么这么多设 备都没有堵上这个漏洞呢?我觉得是设备厂商的策略(不排除傻X的厂商存在哦,虽然知道怎么封堵漏洞但是就是留着个后门给大家,让第三方给自己定制 rom,提高自己系统的易用性。

至此我们把root的过程和root之后系统情况都进行了介绍,相信你也不会对root破解再神秘了吧



最新文章
成免费的CRM1688:如何利用免费CRM系统提高企业管理效率
在当今数字化时代,CRM(客户关系管理)系统成为了企业管理的核心工具之一。随着市场需求的增长,越来越多的企业开始寻找一款既能高效管理客户信息,又能降低成本的CRM工具。成免费的CRM1688便是这样一款引起广泛关注的产品。很多小企业和
微信小程序开发系列(一)·微信小程序开发账号的注册以及开发者工具的安装和使用
目录1.  小程序与普通网页开发的区别 1.1  运行环境不同 1.2   API 不同 1.3  开发模式不同 2.  注册小程序开发账号 2.1  注册平台登录 2.2  账号信息填写 2.3  邮箱激活 2.4  个人信息登记 2.5  获取小程序的AppID 3.  安装开
华为手机经鼎桥的一番“武装”后......
  第一次听闻鼎桥通信技术有限公司(以下简称“鼎桥”)的双系统安全定制手机之概念并一睹其英姿,还是在去年年底的“2015中国移动全球合作伙伴大会”上,至今犹记当时观者如潮的场景。可见鼎桥联合其母公司华为技术有限公司(以下简称“
web前端开发必会的二十五个知识点
web前端开发培训之前端开发必会的二十五个知识点1. 常用那几种浏览器测试?有哪些内核(Layout Engine)?(Q1) 浏览器:IE,Chrome,FireFox,Safari,Opera。(Q2) 内核:Trident,Blink,Gecko,Webkit,Blink。2. 说下行内元素和块级元素的
重庆长安科技申请控制器测试专利,大大提高了控制器的测试效率和测试准确性
本文源自:金融界金融界2024年12月18日消息,国家知识产权局信息显示,重庆长安科技有限责任公司申请一项名为“控制器测试方法、系统、装置及电子设备”的专利,公开号CN 119126759 A,申请日期为2024年9月。
置顶微信商户号被恶意投诉,给我们经营者带来极大的不便,无法维权,反而处处受到限制!精选热门
我们是做一个商家平台,让商家在我们平台上使用,在使用过程中难免会遇到一些竞争对手,故意作为消费者购买商家的产品,然后恶意投诉你平台的微信商户号,明明商户这里有把产品给对方了,产品和服务都没有问题,关键是这个用户就是要恶意搞
网红游戏推荐哪个 2024网红游戏排行榜
2024网红游戏排行榜新鲜出炉!探索当下的游戏潮流,想知道哪些热门游戏在玩家们的指尖风靡一时?本文带你走进最新最in的游戏世界,无论是创新玩法还是视觉盛宴,不容错过。紧跟潮流玩家的步伐,一睹未来趋势所在,一起沉浸在那些即将引领新
百度山西推广秘籍,让你的广告在百变大放异彩
山西百度推广优化,关键在于精准定位和创意策略。通过深入分析目标受众,定制个性化广告内容,优化关键词布局,提高广告点击率。利用百度大数据分析,实时调整推广策略,确保广告在百度搜索结果中脱颖而出,提升品牌曝光度和率。随着互联网
时尚精致的Mac 为什么开始成为更多企业的选择?
“每次都宣传视频剪辑,Mac就适合拿来剪视频”、“Mac长得好看,它就适合给设计师用”、“Mac就是给iOS开发者准备的”...伴随着社交媒体的普及,我们听到了无数媒体与用户的评价,而这些对Mac的固有印象,也随着时间的推移在不断加深。然而
谷歌浏览器手机版下载
Chrome浏览器是由谷歌开发的一款广受欢迎的网络浏览器。它以其速度快、安全稳定及丰富的功能而受到广大用户的青睐。Chrome浏览器支持跨平台,在windows、Mac、Linux、Android和iOS等操作系统上都有相应的版本。1. 快速浏览:Chrome浏览器采
相关文章
推荐文章
发表评论
0评