首先关于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
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
lorer
这里可以看到,Root Explorer的EUID=10073(App Base是从