首页 > 作文

手机root是什么意思

更新时间:2023-03-02 05:14:34 阅读: 评论:0

鸭翅的做法-压缩文件修复

手机root是什么意思
2023年3月2日发(作者:风流总被雨打风吹去)

详解Android系统中的root权限获得原理

前⾔

⼀直很好奇AndroidRoot的原理,恰好最近碰到了⼀个跟Android默认带Root权限的问题,这⾥顺便记录⼀下Android系统root

的原理。

原理

Android是基于Llinux内核的开源操作系统,与Ubuntu系统类似,所以在Android⾥获取root权限其实和在Linux系统下获取root

权限是⼀回事。在Linux系统下获取root权限的⽅法是在命令⾏执⾏sudo或者su,接下来输⼊提权密码就可以获取root权限

了。Android系统其实也是这样,例如应⽤层程序开发,在root过的⼿机上运⾏root权限的代码如下所⽰:

Processprocess=time().exec("su");

DataOutputStreamos=newDataOutputStream(putStream());

......

ytes("HelloWorld!n");

();

我们可以看到,Android应⽤程序获取root权限也是需要执⾏su命令,因此Android能够root的密码都在su程序上。但

是,Android本⾝是不想让你获取root权限的,因此⼤部分⼿机出⼚都是ur版本,默认是不带su这个⼆进制程序的。所以你

想获取Android的root权限,第⼀步就是要把编译好的su⽂件拷贝到Android⼿机的/system/bin或/system/xbin⽬录下(为什么

要拷贝到/system⽬录下,是因为这个分区是没有nosuid限制的,同时/system/bin和/system/xbin⼜都是系统环境变量PATH⾥

的路径,可以直接执⾏su)。我们先假设你可以把编译好的su程序放在xbin或者bin⽬录下,接下来你可以在Android⼿机的

adbshell或者串⼝下输⼊su提权了。

Linux命令⾏下输⼊su之后,是需要输⼊root密码才能够提权的,但是Android⾥的su和Linux⾥的su是不⼀样的,Android⾥的

su是不靠验证密码的,⽽且需要验证你之前的权限是什么。意思是,如果你是root⽤户,那你可以通过su切换到别的⽤户,⽐

如shell、wifi、audio等。但是如果你是root之外的其他⽤户,就不能切换到root了,会提⽰你permissiondenied。也就是说,

⽤root运⾏su才有⽤,但是这个时候我没还有root权限怎么办?这就是接下来要讨论的问题。

我们在Ubuntu下查看/usr/bin/passwd⽂件的权限,如下图所⽰:

这个⽂件的权限⽐较特殊,Linux⽤户⼀般都知道⽂件分为r、w、x权限,那这个s是神马意思呢?这⾥回答⼀下,s代表当任何

⼀个⽤户执⾏该⽂件的时候都拥有⽂件所有者的权限,这⽂件所有者是root。简单来说,就是不管谁执⾏这个⽂件,他执⾏的

时候都是以root⾝份来执⾏的。

看到这⾥,⼤家是不是都有思路了,也就是说,即使我不是root⽤户也可能以root⽤户的⾝份来执⾏程序,那么我把⼀个所有

者是root的su程序权限标志位设置为-rwsr-xr-x,那么不管是谁执⾏它,都是以root⾝份执⾏。这就⽜逼了,su果断可以执⾏成

功,那你也就可以顺利的获取root权限了。

破解

原理都清楚了,那root的过程其实就是分两步:

1.把⼀个所有者是root的su拷贝到Android⼿机上。

2.把su的权限标志位设置成-rwsr-xr-x。

写成代码⼤概如下所⽰:

cp/sdcard/su/system/xbin/

chownroot:root/system/xbin/su

chmod4755/system/xbin/su

代码看起来很简单,但是想真正的运⾏成功,以上代码每⼀句都需要root权限执⾏。我擦,⼀下回到解放前,跟先有鸡还是先

有蛋的问题类似,代码运⾏需要root权限,⽽代码本⾝的⽬的就是获取root权限,成了⼀个封闭的死循环了。但是所幸Android

系统有Bug,因此就给了你打破这个死循环的机会。

打破的⽅法就是找⼀个本⾝已经有root权限的进程来运⾏这个3⾏的shell脚本,这样脚本就可以顺利执⾏了。但是已经有root

权限的进程都是出⼚时候就装到⼿机上的,代码写死了,你没法控制它执⾏⾃⼰的代码啊,这个时候就需要查找漏洞了。例如

Android2.3root权限的zergRush漏洞就是利⽤⼀个拥有root权限的进程栈溢出漏洞。具体利⽤漏洞的⽅法⼤家就可以⾃⾏

google了。

防⽌root

通过上述分析,我们可以简单的理解,解决Android系统能够su提权的⽅法就是把su⽂件⼲掉就可以了。

本文发布于:2023-03-02 05:14:34,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677705274106578.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:手机root是什么意思.doc

本文 PDF 下载地址:手机root是什么意思.pdf

相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 站长QQ:55-9-10-26 专利检索|