Android14之禁止vbmeta.img签名校验(一百九十)

本文介绍了如何在Android14中通过avbtool工具禁止vbmeta.img的校验,重点讲解了avbtool的功能、vbmeta.img的作用以及提供了一个禁用AVB校验的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长!

优质专栏:Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏:多媒体系统工程师系列原创干货持续更新中……】🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

1.前言

本篇目的:Android14之禁止vbmeta.img签名校验

2.avbtool、vbmeta.img介绍

<1>.avbtool工具

  • Android中的avbtool是一个命令行工具,它是Android Verified Boot(AVB)系统的一部分。AVB是一个安全特性,旨在通过分段和校验来保护Android设备上的启动过程,确保设备只启动经过验证的、未被篡改的软件。
  • avbtool的主要作用包括:
  • 校验和生成分段:它用于对设备上的软件分段进行校验和生成。每个分段都可以包含一个或多个文件,并且每个分段都可以有一个与之关联的哈希值(通常是一个散列函数计算出的值),用来验证分段的完整性。
  • 签名和装载密钥:avbtool可以用来导入、导出、列出和删除用于AVB签名的密钥。签名是用来验证软件分段的过程,确保软件在安装和启动时未被篡改。
  • 启动参数的设置:它用于设置和修改设备的启动参数,这些参数与设备的启动过程和安全性有关。
    版本信息的获取和显示:avbtool可以显示与AVB相关的版本信息,帮助开发者或维护人员了解正在使用的AVB版本和相关的工具支持情况。
  • 密钥环操作:它管理AVB密钥环,这是存储用于验证和签名分段的所有必要密钥的地方。
  • avbtool是Android安全体系中的一个重要组成部分,它确保了设备上的软件在启动过程中保持其完整性,从而提高了设备的安全性。开发者和系统维护人员可以使用这个工具来管理密钥、生成校验和以及进行与AVB安全机制相关的其他操作。

<2>.vbmeta.img镜像作用

  • 在Android设备上,VBMeta(Verified Boot Meta)是AVB(Android Verified Boot)系统的一部分,它用于存储与设备启动安全相关的元数据,如密钥和分段信息。vbmeta.img 是一个特殊的文件,通常在设备启动时被加载,以验证设备的启动过程。
  • 如果您想要在刷入 vbmeta.img 时禁止AVB校验,您需要修改设备启动时加载 vbmeta.img 的行为。这通常涉及到修改设备的启动脚本和/或系统服务。

3.禁止校验解决方案

./prebuilts/kernel-build-tools/linux-x86/bin/avbtool make_vbmeta_image --flags 2 --padding_size 4096 --output vbmeta_disabled.img
fastboot flash vbmeta --disable-verity --disable-verification ./vbmeta_disabled.img

4.在设备上查看

# adb remount

AVB verification is disabled, disabling verity state may have no effect

这段 Shell 脚本主要是用来将一些文件从当前目录复制到指定的目录,并创建一个新的目录用于存储这些文件。下面是脚本中各部分的详细解释: 1. `#!/bin/bash`:这是指定脚本使用的解释器,这里使用的是 Bash。 2. `date=$(date +%Y%m%d)`:这一行获取当前日期,并将其保存到变量 `date` 中。日期格式为年月日。 3. `loadbindir="A66.ZXT.ZT1028.MT8766.32+3.EU.13.0.V001.$date"`:这一行将日期变量添加到一个字符串中,用于创建新目录的名称。 4. `cd $PWD`:将当前工作目录切换到脚本所在的目录。 5. `rm -rf ./$loadbindir`:如果已经存在同名的目录,则删除该目录及其所有内容。 6. `mkdir $loadbindir`:创建一个新目录,名称为上面定义的变量 `loadbindir`。 7. `cd t0/out/target/product/tb8766p1_64_bsp/merged`:将当前工作目录切换到 `t0/out/target/product/tb8766p1_64_bsp/merged` 目录,该目录包含需要复制的文件。 8. `cp preloader_tb8766p1_64_bsp.bin logo.bin md1img.img spmfw.img sspm.img lk.img boot.img dtbo.img tee.img vbmeta.img vbmeta_system.img vbmeta_vendor.img super.img userdata.img MT6761_Android_scatter.txt ../../../../../../$loadbindir`:将指定的文件从当前目录复制到上面创建的新目录中。 9. `find -name "APDB_MT6761_S01__W2*" |xargs -I{} cp {} ../../../../../../$loadbindir`:在当前目录及其子目录中查找文件名以 "APDB_MT6761_S01__W2" 开头的文件,并将它们复制到上面创建的新目录中。 10. `find ../../../../../../s0/vendor/mediatek/proprietary/modem/A66_B2B4B5_B2B4B5B7B12B13B14B17B66B71/ -name "MDDB.META_MT6761_S00_MOLY_LR12A_R3*" |xargs -I{} cp {} ../../../../../../$loadbindir`:在指定目录及其子目录中查找文件名以 "MDDB.META_MT6761_S00_MOLY_LR12A_R3" 开头的文件,并将它们复制到上面创建的新目录中。 这样,脚本中的所有文件都被复制到了新目录中,以备后续使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Android系统攻城狮

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值