Android手机Root授权原理细节全解析

本文详细探讨了Android手机如何通过`su`命令获取Root权限。`su`进程利用SUID特性提升EUID至ROOT,通过启动SuperUser请求用户授权。在获得许可后,`su`不仅提升自己的EUID,还会提升Real UID以确保后续进程以ROOT权限运行。通过`execv`加载`sh`,在同一个进程中执行shell命令,从而实现Root权限的操作。RootExplorer等应用就是通过这种方式执行需要Root权限的shell指令。
摘要由CSDN通过智能技术生成
首先关于Root的方式,这里不做详解,可以有很多漏洞,比如利用uid溢出后归为0,得到Root权限,然后操作文件系统等。
 
手机Root后,最重要的是,给手机安装了su程序和superuser apk。 su一般被安装在/system/xbin 或者 /system/bin 下面,su文件的权限如下:
 
# ls su -l
ls su -l
-rwsr-sr-x    1 root     root         26336 Aug  1  2008 su
 
这里可以看到,su的Owner和Group分别为Root,Root。 Other用户具有exeute权限,另外,su设置了suid和sgid,这个非常重要,后面会详述,这个使得Su进程可以提升自身的EUID。
 
我们这里以RootExplorer为例,看是如何申请和提升权限的:
 
首先,ps一下,可以看到root explorer的信息,这里第一列是UID,更加准确的,应该是EUID。
app_73    1143  103   301620 39944 ffffffff 400194c4 S com.speedsoftware.rootexp
lorer
 
这里可以看到,Root Explorer的EUID=10073(App Base是从
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值