root方式细节剖析

原创 2016年08月30日 17:32:45

android系统root的根本原理就是替换su程序。
su程序会设置SUID位,s验证root密码。正确的话su程序可以把用户权限提高root(因为去设置SUID位,运行期是root权限,这样其有权限提升自己的权限)

很早以前的提权方式:
http://blog.claudxiao.net/2011/04/android-adb-setuid/
http://www.oschina.net/question/12_58384?fromerr=FerRWP6j

提权方式一:busybox工具+ratc提权程序(rage aginst the cage)

adbd会检测系统的ro.secure属性,如果该属性为1则将会把自己的用户权限降级成shell用户。一般设备出厂的时候在/default.prop文件中都会设置 ro.secure = 1 这样将会使adbd启动的时候自动降级成shell用户。

1、出厂设置的ro.secure属性为1,则adbd也将运行在shell用户权限下;

2、adb工具创建的进程ratc也运行在shell用户权限下;

3、ratc一直创建子进程(ratc创建的子程序也 将会运行在shell用户权限下),紧接着子程序退出,形成僵尸进程,占用shell用户的进程资源,直到到达shell用户的进程数为 RLIMIT_NPROC的时候(包括adbd、ratc及其子程序),这是ratc将会创建子进程失败。这时候杀掉adbd,adbd进程因为是 Android系统服务,将会被Android系统自动重启,这时候ratc也在竞争产生子程序。在adbd程序执行上面setgid和setuid之 前,ratc已经创建了一个新的子进程,那么shell用户的进程限额已经达到,则adbd进程执行setgid和setuid将会失败。根据代码我们发 现失败之后adbd将会继续执行。这样adbd进程将会运行在root权限下面了。

改系统内核代码:insmod /data/data/xxx/xxx.ko装载内核文件

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

首先关于Root的方式,这里不做详解,可以有很多漏洞,比如利用uid溢出后归为0,得到Root权限,然后操作文件系统等。   手机Root后,最重要的是,给手机安装了su程序和superuser ...

windows/linux 命令行方式重置mysql的root密码

windows/linux 命令行方式重置mysql的root密码

android非root方式静默安装和卸载

1.AccessibilityService这个类 需要写一个类继承AccessibilityService这个类,模拟用户点击安装和卸载的界面上的按钮,如下:包括了安装、卸载、清理进程。 packa...

关于centos7中使用rpm方式安装mysql5.7版本后无法使用root登录的问题

最近在centos7中通过rpm方式安装了最新版本的mysql-server 5.7 (mysql57-community-release-el7-7.noarch.rpm) ,发现安装成功后无法使用...

android 下,su chomd 666/777 root权限代码方式申请

android 下,su chomd 666/777 root权限代码方式申请

关于Data at the root level is invalid错误的解决方式

有时在使用XmlDocument.LoadXML()方法时会出现报Data at the root level is invalid的错误。 网上很多说发是因为xml文件的格式不对引起,如果...

MySQL root用户忘记密码解决方案(安全模式,修改密码的三种方式)

1.关闭正在运行的MySQL 2.启动MySQL的安全模式,命令如下: mysqld --skip-grant-tables or mysqld-nd --skip-grant-tables ...
  • kmter
  • kmter
  • 2014-12-04 16:00
  • 8786

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动 1.关于mysql? MySQL是一个关系型数...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)