Android Root原理初探,字节跳动内部学习资料泄露

Linux发行版:Linux内核 + 文件系统(ext3/4)

Android:Linux内核 + 文件系统(ext3/4)

Android 没有本地窗口系统

而Linux是可以脱离X窗口的。

Android 没有glibc library

Android并不包括一整套标准的Linux应用程序

而Linux也是可以脱离这两点的。

Android内置了专有的驱动程序

然并卵。Linux的内核也分主次,驱动程序也不是不能脱离的,只是去掉后无法识别对应的设备,并不影响Linux的内核的装载和运行。而且在Linux Kernel Configuration里可以自由配置需要卸载的项目。不能因为增加了驱动就认为不是Linux。并不是决定操作系统性质的关键。判断操作系统种类的并不是其上层建筑,而是深层的系统内核和文件结构。

Linux内核中与驱动相关且比较核心的是驱动接口(Linux驱动运行和安装规范),是一套二进制规范。

综上,Android实质上是Linux。

那么,Root对于Android意味着什么?

用su命令切换到root用户


Android为什么要Root?

删除非官方或定制系统预装的垃圾应用
  • 拥有root权限后直接复制
  • 根据Android Rom复制
  • 通过Recovery升级包方式复制
控制开机加载项
拥有更多权限
调试Linux驱动
修改启动画面

提取Root权限的步骤

1.刷一个合适的Recovery

方法一:在bootloader模式下复制整个文件系统

方法二:在Recovery模式将文件复制到Android设备的指定目录

刷入Clockwork Recovery

通过adb reboot bootloader命令或者关机下按组合按键进入bootloader模式。

fastboot:

这里写图片描述

这里写图片描述

危险的命令:

fastboot flash bootloader bootloader.img

// 如果bootloader.img错误,则需要更换主板

自毁命令:

fastboot erase bootloader

// 擦除

刷Recovery:

fastboot flash recovery recovery.img

重启设备

fastboot reboot

2.改造su命令的源代码

Android自带的su命令只允许root和shell用户(adb shell)调用

3.制作Recovery刷机文件(*.zip)

主要由待复制的文件和Edify语言(用于对文件和目录进行操作)编写的脚本文件组成

编写Recovery升级包中的updater-script脚本文件,将su命令复制到/system/xbin目录中。

4.执行su命令提取Root权限

点击这里免费领取吧!

m/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值