admin管理员组

文章数量:1593159

准备工作:

  1. 下载 官方Full-OTA update.zip。从这里找 pro-teammt.ru/firmware-database/?firmware_model=&firmware_page=1 ,搜搜自己的手机型号(可从“关于手机/型号”中查看),比如 荣耀V10高配版为BKL-AL20。下载大于1G甚至2G的FULL-OTA的update.zip文件。下载完成后解压,得到update.app文件
  2. Huawei update extrator,下载地址:forum.xda-developers/showthread.php?t=2433454 ,该软件可解包上述update.app文件,提取出ramdisk.img和vendor.img
  3. Bootimg.exe,下载地址:github/cofface/android_bootimg 这个工具用来解包ramdisk.img
  4. ROM助手,rom大师,随便什么,能打开vendor.img的。
  5. 下载supersu beta版,到xda-developor论坛自行下载,本文编写是的版本为supersu beta 2.82 sr5。

开始动手:
6. 解压update.zip得到update.app
7. 用Huawei update extrator解包update.app(解包前,先到设置中,去掉 verify header checksum,否则打不开)
8. 把ramdisk.img和vendor.img提取出来
9. 把ramdisk.img改名为boot.img,并与bootimg.exe放到同一个文件夹
10. 在该文件夹启动cmd(文件→打开命令行提示符),输入bootimg.exe --unpack-bootimg,解包
11. 解包后,编辑initrd文件夹下的init.rc文件,在import /init.${ro.zygote}.rc下添加一行import init.supersu.rc
12. 删除verity_key
13. 解压supersu,把supersu的文件按照这个文件树重新组织,并打包成root.tar (注意,是tar,用tar cvf 命令)

#  压缩文件 C:\android_bootimg-master\root.tar
SuperSU.apk
supersu_install
supersu_install\bin
supersu_install\bin\su
supersu_install\bin\daemonsu
supersu_install\bin\supolicy
supersu_install\bin\supolicy_wrapped
supersu_install\bin\sukernel
supersu_install\xbin
supersu_install\lib
supersu_install\lib\libsupol.so
supersu_install\etc
supersu_install\su.d
supersu_install\file_contexts
supersu_install\supersu_is_here

root.tar与supersu压缩包中文件的对应关系为:
bin/su = bin/daemon=arm64/su
bin/sukernel=arm64/sukernel
bin/supolicy_wrapped=arm64/supolicy
bin/supolicy=arm64/supolicy
lib/libsupol = arm64/libsupol
file_contexts=common/file_contexts
supersu_is_here=common/supersu_is_here

复制完,别忘了chmod +x supolicy 等等

  1. 复制上面打包好的root.tar到/res/.su下
  2. 复制fbe_bypass.sh,launch_daemonsu.sh,tar三个文件到/sbin下,修改launch_daemonsu.sh文件,判断/data/adb/su/bin是否存在,如果不存在则解压root.tar到指定目录。【注意,下方的各种代码,英文单引号 ´ 论坛里会自动变掉,请自己复制代码后,把英文引号改正确】
# copy boot image backups
log_print "copying boot image backups from /cache to /data"
cp -f /cache/stock_boot_* /data/. 2>/dev/null

if ($SBIN); then
  if [ ! -d "/data/adb/su/bin" ]; then
    /sbin/tar xvf /res/.su/root.tar -C /data
  fi

上方代码片段的最后三行为需要新增的。

  1. 给init打补丁:找一台使用supersu2.6以上版本root过的手机,之后在

本文标签: 权限bootimgroot