root方式细节剖析
来源:互联网 发布:数据挖掘培训机构 编辑:程序博客网 时间:2024/05/29 11:07
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装载内核文件
- root方式细节剖析
- 深入剖析Android系统十大细节
- Ogre源码剖析之一:初识Root类
- Android Root插件模式:Xposed源码剖析
- fedora14修改root登录方式
- Android手机Root授权原理细节全解析
- Android手机Root授权原理细节全解析
- Android手机Root授权原理细节全解析
- Android手机Root授权原理细节全解析
- 游戏引擎剖析 (4) 模型与动画,细节级别
- 详细剖析TFS 2010中工作区的改进细节
- 从细节处剖析 教你登顶新浪微博
- cocos2d-x应用窗口相关源码剖析5-其他细节
- cocos2d-x应用窗口相关源码剖析5-其他细节
- 对逻辑斯蒂回归的一些细节剖析
- 图片切换器:剖析Gallery和ImageSwitcher的一些细节
- EBGP与IBGP邻居路由传递的细节剖析
- 网站布局的方式的一些细节
- 谈谈从0开始快速学习React Native(一)
- 配置上这个模板Bug少90%
- android studio卡在任务栏里不能最大化
- SharedPreferences 跨进程共享
- NOI.OPENJUDGE 1.13.26 感想
- root方式细节剖析
- C++学习篇——C++ STL中迭代器介绍
- nginx
- java设计模式之原型模式
- java多线程要点
- 自定义Popmenu
- Android Studio Gradle配置
- 移动设备上4G和WIFI情况下抓包总结
- QT 读取txt 文件