search 登录 注册
arrow_back返回列表
ID:98594
light_modestarstarstar
Lv.1 韶华一笑间
edit_note帖子 21
stars积分 8,130
event加入 2012-03-10
安卓交流

安卓高级教程之root原理一

schedule发表于 2013-05-01 13:44:00 visibility查看 789 chat_bubble回复 41
#1 楼主
首先,说一下,不知道能不能上传图,代码就不打了,字也不知道能发多少,给那些一直root失败的童鞋一些知识补充。
现在Android系统的root破解基本上成为大家的必备技能!网上也有很多中一键破解的软件,使root破解越来越容易。但是你思考过root破解的 原理吗?root破解的本质是什么呢?难道是利用了Linux kernal的漏洞吗?本文将简单对root的破解原理进行分析。
网上有一篇文章已经对root破解的基本原理进行了简单介绍,大家可以先参考一下《 android root权限破解分析 》,本文只能说对root原理进行了方向性的描述,但是在一些具体的方面没有描述清楚。本文将会对其进行一些必要的扩展和补充。
如果你进行过程序开发,在root过的手机上面获得root权限的代码如下:
1: Process process = Runtime.getRuntime().*( “su“);
2: DataOutputStream os = new
DataOutputStream(process.getOutputStream());
3: ......
4: os.writeBytes( “exit\n“ );
5: os.flush();
从上面代码我们可以看到首先要运行su程序,其实root的秘密都在su程序中,《 android root权限破解分析 》中讲到Android系统默认的su程序只能root和shell可以用运行su,这个是安全的。如果把这个限制拿掉,就是root破解了!
下面我们仔细分析一下程序是怎样获得root权限的,如果对Linux的su命令熟悉的朋友可能知道su程序都设置SUID位,我们查看一下我的手机(已经root破解)上的su权限设置,
我们发现su的所有者和所有组都是root,是其实是busybox的软链接,我们查看busybox的属性发现,其设置了SUID和SGID,并且所有者和所有组都是root。SUID和SGID的作用是什么呢?如果你不太清楚,请参考《 Linux进程的实际用户ID和有效用户ID 》,这样运行busybox的普通用户,busybox运行过程中获得的是root的有效用户。su程序则是把自己启动一个新的程序,并把自己权限提升至root(我们前面提到su其实就是busybox,运行期它的权限是root,当然也有权限来提升自己的权限)。
再强调一下不光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权限,也算是给系统加了一层保险吧!
如上是哀的个人对root破解的一些认识,如果有错误的地方,欢迎朋友们指正。

全部回复 (41)

ID:113353
light_mode
Lv.1 韶华一笑间
2013-08-13 01:11:00 #22
啦看
ID:141536
dark_modedark_modestar
Lv.1 韶华一笑间
2013-08-18 14:03:00 #23
节快乐j
ID:112676
light_modestarstar
Lv.1 韶华一笑间
2013-08-18 17:13:00 #24
得得
ID:127136
dark_modedark_modedark_modestar
Lv.1 韶华一笑间
2013-08-20 02:47:00 #25
5885288
ID:140290
dark_modedark_mode
Lv.1 韶华一笑间
2013-08-20 07:14:00 #26
吖哈哈
ID:129987
dark_modedark_modedark_modestar
Lv.1 韶华一笑间
2013-08-26 16:55:00 #27
得得的
ID:162118
dark_modedark_modedark_modestarstar
Lv.1 韶华一笑间
2014-07-21 18:47:00 #28
安卓高级教程之root原理一
ID:146879
light_modestar
Lv.1 韶华一笑间
2014-07-21 20:15:00 #29
咯哇也就
ID:73182
light_modestar
Lv.1 韶华一笑间
2014-07-21 23:41:00 #30
同咯咯图特了哦
ID:164660
dark_modedark_modestar
Lv.1 韶华一笑间
2014-07-22 13:33:00 #31
jihhhhhhhhhhhhhffhuduj
ID:129166
dark_modedark_modedark_modestar
Lv.1 韶华一笑间
2014-07-22 18:30:00 #32
就可以
ID:167824
dark_modedark_modedark_modestar
Lv.1 韶华一笑间
2015-01-25 23:22:00 #33
jjjj
ID:167745
dark_modedark_modedark_modestar
Lv.1 韶华一笑间
2015-02-12 17:06:00 #34
摩擦力
ID:163689
dark_modedark_modedark_modestar
Lv.1 韶华一笑间
2015-02-12 19:10:00 #35
回复
ID:146175
dark_modedark_modedark_modestarstarstar
Lv.1 韶华一笑间
2015-02-23 01:46:00 #36
神奇软件咯嘛
ID:170251
dark_modestar
Lv.1 韶华一笑间
2015-05-07 11:07:00 #37
。。。
ID:170329
dark_modedark_modestarstar
Lv.1 韶华一笑间
2015-05-08 02:53:00 #38
hfghuyffu
ID:136757
light_mode
Lv.1 韶华一笑间
2016-03-05 18:25:00 #39
古古怪怪给他挺好vv吃
登录 后才能回复