AVB 镜像分析工具使用文档

图片[1]-AVB 镜像分析工具使用文档-柔同小栈

概述

boot.py 是一个基于 avbtool.py 的辅助工具,用于查看和验证 Android Verified Boot (AVB) 签名镜像文件(如 boot.imgvbmeta.img 等)。

该脚本通过调用项目内置的 Python 环境与 avbtool.py,简化了镜像信息解析和签名验证的操作流程。

文件位置

  • 脚本路径:项目根目录下的 boot.py
  • 依赖工具:
    • tools/python-3.8.0/python.exe(内置 Python 环境)
    • tools/avbtool.py(AVB 工具脚本)

功能说明

命令功能
info输出指定镜像的 AVB 签名信息(如哈希、公钥、算法等)
verify验证指定镜像的 AVB 签名是否有效(可选指定公钥文件)

使用方法

基本语法

python boot.py [命令] [镜像文件路径] [选项]

查看镜像信息

python boot.py info boot.img

示例输出(节选):

[INFO] 解析 boot.img 信息
[CMD] tools/python-3.8.0/python.exe tools/avbtool.py info_image --image boot.img
...

验证镜像签名

python boot.py verify boot.img

参数说明

参数说明
--working-dir工作目录(默认为当前目录),用于定位 tools/avbtool.py
--avbtool直接指定 avbtool.py 的完整路径
command操作命令:info 或 verify
image需要操作的镜像文件路径

使用示例

示例 1:查看 boot.img 信息

./boot.py info boot.img

示例 2:验证 vbmeta.img 签名

./boot.py verify vbmeta.img

示例 3:在其他工作目录下操作

./boot.py --working-dir /home/user/project info system.img

注意事项

  1. Python 环境:脚本默认使用项目内置的 tools/python-3.8.0/python.exe,请确保该路径存在且可执行。
  2. avbtool 依赖:确保 tools/avbtool.py 存在且版本兼容。
  3. 镜像路径:支持绝对路径或相对路径。
  4. 错误处理:若镜像文件不存在或签名无效,脚本会输出错误信息并退出。

常见问题

Q1: 提示 No such file or directory: tools/python-3.8.0/python.exe

解决方法:请确认项目目录结构正确,或通过 --working-dir 指定正确的工作目录。

Q2: 提示 命令执行失败

解决方法:检查镜像文件是否损坏,或是否包含 AVB 签名。可使用 avbtool info_image 直接测试。

Q3: 能否用于非 AVB 镜像?

不能。该脚本仅适用于带有 AVB 签名的 Android 镜像文件。

扩展开发

如需增加更多 avbtool 功能(如 add_hash_footerresize_image),可在 main() 中添加对应命令分支,并实现相应函数调用。

示例添加 add_hash_footer 命令:

def add_hash_footer(image_path, partition_size):
    cmd = [PYTHON_EXECUTABLE, avbtool_path, "add_hash_footer",
           "--image", image_path, "--partition_size", str(partition_size)]
    run_command(cmd, "添加哈希页脚")
avb_res_boot.zip
zip文件
6.8M
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享