修改boot.img制作内置root权限

准备工作:

  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.com/showthread.php?t=2433454 ,该软件可解包上述update.app文件,提取出ramdisk.img和vendor.img
  3. Bootimg.exe,下载地址:github.com/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过的手机,之后在
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值