root过程

  1. 提前准备工作

    1. 下载 刷机包(时间较长,1h)

    2. 绑定账号(开发者选项 -> 设备解锁状态)后等待72h

  2. 备份数据(电脑备份 + 云备份)
    记得另外自行备份双开微信和qq的数据

  3. 解BL锁(手机关机前检查解锁工具是否需要短信验证码才能登录)

    1. 进入Bootloader模式(关机后,同时按住开机键和音量下键)

    2. 通过USB连接手机,点击 “解锁”按钮

  4. magisk获取root

    1. 提取init_boot.img文件

    2. 安装magisk app

    3. 使用magisk app修补镜像文件
      1.安装 – 2.选择并修补一个文件 - 3.选择init_boot.img – 4.开始 – 5.修补成功
      修补成功,会在 Download 目录生成(magisk_patched-版本_随机.img)文件,重命名为newboot.img

    4. 进入fastboot模式,刷入newboot.img
      fastboot flash init_boot newboot.img

    5. 出现下面这三行代码,就是成功刷入了。
      Sending ‘init_boot’ (131072 KB) OKAY [ 3.311s]
      Writing ‘init_boot’ OKAY [ 0.441s]
      Finished. Total time: 3.794s

    6. 重启手机

个人自用模块

隐藏root:随机包名;shamiko模块;shamiko白名单开关app

安装magisk模块:lsposed,shamiko,自动救砖,adguardhome(需在设置中开启systemless hosts功能)

root原理

想切换到root用户 -> 使用su命令 -> 未root的Android设备上没有su二进制文件(已root设备上有su文件,存放于/system/xbin/目录下)-> 手动添加su文件到该目录下 -> 添加su文件需要root权限

su命令能以root用户执行的原理:setUID全权限rws,它的执行权限标志位是一个s,s代表当任何一个用户执行该文件的时候都拥有文件所有者的权限。su文件的所有者是root,所以不管谁执行这个文件,它执行的时候都是以root身份执行的。

这就进入到了一个死循环当中,要利用su,首先要有root权限。因此这时就需要利用到Android存在的漏洞,Android系统本身存在着很多以root权限运行的原生进程,而这些root进程中如果存在可以利用的漏洞,就可以利用进程的root身份:

  1. 拷贝su文件到/system/xbin系统分区;
  2. 设置su文件所有者为root用户;
  3. 设置su文件的setUID权限,便于自己的进程执行su命令获取root权限。

其实没写完…懒得写了