Android AVB 分析专栏文章导读

android AVB2.0(一)工作原理及编译配置 android AVB2.0学习总结(一) 阅读详情
AI摘要

本《Android AVB 分析》专栏以实战+原理展示 Android AVB 实现与工作方式,通过实验验证数据,涉及 hash 计算、FEC 计算等操作。前 10 篇免费,之后深入介绍 dm-verity 原理和 FEC 功能。还提供专栏文章链接及简要介绍,最后邀请加入讨论群交流。

Android AVB 分析专栏文章导读


如果你希望从较高层次快速了解 Android AVB 原理,网上任何一篇介绍 AVB 的文章都可以满足。

本《Android AVB 分析》专栏以实战+原理的方式,展示 Android AVB 的实现和工作方式,中间通过多个实验手动验证数据,以实战的方式展示包括 hash 计算, hashtree 计算, FEC 计算,镜像格式和签名验证, dm-verity 设备的创建,使用 FEC 纠错等操作,让你对 Android AVB 有一个较为深入和全面的把握,适合一线工作的工程师,以及希望学习 AVB 原理的学生。

整个专栏前面 10 篇免费公开,10 篇后较为深入的介绍 dm-verity 的原理和 FEC 功能,如果您需要深入 dm-verity 以及 FEC 纠错等,可以考虑订阅本专栏付费部分。

不论有没有订阅付费专栏,都欢迎加我微信拉你进 AVB 讨论群和大家一起讨论,一群人讨论学习远比一个人闷头研究轻松很多,详细练习方式见文末。

1. 快速入口

2. 简要介绍

  • Android AVB 挑战,100 个问题你能回答几个?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/146452369
    • 内容:基于 AVB 基础原理,源码相关,镜像布局,相关工具,镜像数据的签名和验证,dm-verity 的底层机制, FEC 纠错原理和能力,AVB 的打开和关闭,Rollback 原理,数据存储位置等 10 个方面提出了 100 道题,用来检验对 AVB 的熟悉程度。
  • Android AVB 分析(一)AVB 到底该如何学习?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/146457755
    • 内容:
      • AVB 是什么?
      • AVB 包含了哪些东西?
      • AVB 该怎么学?
      • AVB 学习参考资料推荐
  • Android AVB 分析(二)AVB 2.0 自述文档(注释提问版)
    • https://blog.youkuaiyun.com/guyongqiangx/article/details/146997926
    • 内容:
      • Android AVB 自带的 README.md 文档中文翻译
      • 基于 README.md 文档的解释,强哥的注释和提出的问题
  • Android AVB 分析(三)boot.img 到底包含了哪些数据?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144479713
    • 内容:
      • 如何编译 AOSP 参考平台的源码,以及收集 avbtool 日志
      • 分析 Android 编译中 avbtool 对 boot.img 所做的操作
      • 使用 avbtool 查看 boot.img 信息
      • 详细分析 boot.img 的镜像文件结构
      • 手动查看 boot.img 的 AVB Footer 和 VBMeta 数据
      • 手动验证 boot.img 带 Salt 的哈希值(Digest)
  • Android AVB 分析(四)system.img 到底包含了哪些数据?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144486051
    • 内容:
      • 分析 Android 编译中 avbtool 对 system.img 所做的操作
      • 使用 avbtool 查看 system.img 信息
      • 详细分析 system.img 的镜像文件结构
      • 手动查看 system.img 的 AVB Footer
      • 手动验证 system.img 带 Salt 的 hashtree 数据生成
      • 手动查看 system.img 的 FEC 数据
      • 手动查看 system.img 的 VBMeta 数据
  • Android AVB 分析(五)哈希树到底是如何生成的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144479669
    • 内容:
      • 使用 avbtool 给 system.img 添加 hashtree 数据
      • 使用 avbtool 查看 system.img 信息
      • system.img 的 hashtree 数据生成过程分析
      • system.img 的 hashtree 数据布局计算
      • 手动验证 system.img 的 hashtree 数据
  • Android AVB 分析(六)FEC 数据到底是如何生成的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144487615
    • 内容:
      • 使用 fec 工具预估 system.img 的 FEC 数据大小
      • 使用 fec 工具生成 system.img 的 FEC 数据
      • 使用 avbtool 解析 FEC 数据信息
      • 手动验证 system.img 镜像的 FEC 数据
      • 手动解析 FEC Footer
  • Android AVB 分析(七)VBMeta 数据是如何生成的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144655275
    • 内容:
      • boot.img 镜像中的 VBMeta 数据生成过程分析
      • system.img 镜像中的 VBMeta 数据生成过程分析
      • vbmeta.img 镜像中的 VBMeta 数据生成过程分析
      • AvbVBMetaHeader 数据解析和布局总结
  • Android AVB 分析(八)VBMeta 数据解析和签名验证实战
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144655337
    • 内容:
      • 手动解析查看 boot.img 的 AVB Footer
      • 手动标注 boot.img 的 VBMeta 数据
      • 手动验证 boot.img 的 VBMeta 数据
      • 手动提取 vbmeta 中的公钥数据
      • 使用手动提取的公钥数据验证 vbmeta 签名
  • Android AVB 分析(九)Auxiliary Data 包含了哪些描述符和公钥?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144753748
    • 内容:
      • 介绍 Auxiliary Data Block 构成
      • VBMeta 中的 5 种描述符总结
        • AvbHashDescriptor
        • AvbHashtreeDescriptor
        • AvbChainPartitionDescriptor
        • AvbPropertyDescriptor
        • AvbKernelCmdlineDescriptor
      • 公钥数据分析
        • AvbRSAPublicKeyHeader
  • Android AVB 分析(十)AVB 有哪些相关的源码?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144936814
    • 内容:
      • libavb 目录结构
      • 关于 AFTL的解释
      • Makefile 分析
      • libavb 库各文件功能和用途分析
      • libavb_user 库文件功能和用途
      • libavb 和 libavb_user 库的引用
      • libfs_avb 源码
      • AVB 其它相关代码
  • Android AVB 分析(十一)bootloader 是如何进行 verify boot 检查的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/144995975
    • 内容:
      • u-boot 中 AVB 相关的 verify boot 命令
      • avb_slot_verify 函数分析
      • load_and_verify_vbmeta 函数分析
      • libavb 中其它重要的函数分析
      • 特别说明
        • vbmeta 分区和 vbmeta 数据
        • 为什么要使用 validate_vbmeta_public_key() 验证公钥?
        • 为什么要用 rollback index 去防止回滚?
  • Android AVB 分析(十二)嵌入式设备安全中的 dm-verity 简介
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145042060
    • 内容:
      • 关于 dm-verity
      • dm-verity 是如何工作的?
      • 一个简单演示 dm-verity 工作原理的例子
      • hashtree 是如何工作的?
      • dm-verity 中数据损坏
      • 为什么不使用 dm-verity?
      • dm-verity 的替代方案
        • Dm-crypt
        • IMA/EVM
        • Fs-verity
      • 补充阅读
  • Android AVB 分析(十三)dm-verity 设备是如何映射的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145211172
    • 内容:
      • 生成并验证 system.img 的 hashtree 和 FEC 数据
      • 基本的 dm-verity 映射实战
      • 破坏后的 dm-verity 映射实战
      • 带 FEC 的 dm-verity 映射实战
      • Android 的 system 分区 dm-verity 映射实战
  • Android AVB 分析(十四)fs_libavb 是做什么用的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/147189681
    • 内容:
      • 计划基于 fs_libavb 代码进行详细分析,内容待完成
  • Android AVB 分析(十五)system 分区是如何挂载为 dm-verity 设备的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/147189715
    • 内容:
      • 计划跟踪 Android 启动时 system 分区的挂载过程,内容待完成
  • Android AVB 分析(十六)5 个例子彻底理解 FEC(Reed-Solomon) 的工作原理
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145865175
    • 内容:
      • FEC 的原理
      • 一个 FEC 前向纠错的简单例子
      • FEC 前向纠错算法
      • 里德所罗门编码(RS)重要数据解释
      • 几种常见的 RS 编码
      • 基于 RS 编码的 4 个实战
        • RS(255, 223) 编码实验
        • RS(255, 253) 编码实验
        • RS(255, 253) 纠错 1 字节成功实验
        • RS(255, 253) 纠错 2 字节失败实验
        • RS(255, 253) 纠错 2 字节成功实验
  • Android AVB 分析(十七)程序员的FEC(Reed-Solomon)编码实战
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145865276
    • 内容:
      • 里德所罗门编码实践
      • 里德所罗门编码参数
      • 使用 Reed-Solomon 编码实践
      • 擦除编码(Erasure coding)
      • 关于填充的一些话
      • 里德所罗门编码总结
      • 里德所罗门编码的进一步补充阅读材料
  • Android AVB 分析(十八)Android 镜像中的 FEC 数据是如何计算出来的?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145962808
    • 内容:
      • Android fec 工具源码
      • Android fec 工具功能
      • Android fec 工具参数
      • Android 中的 FEC 交织编码解释
      • 手动验证 Android 中的 FEC 交织编码实战
      • 手动验证 fec 工具纠错
  • Android AVB 分析(十九)Android 镜像中的 FEC 到底能纠正多少错误?
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145972996
    • 内容:
      • Android 镜像的理论纠错能力
      • 实验 1. 破坏 3396K 字节, fec 工具纠错实战
      • 实验 2. 破坏 3396K 字节, dm-verity 纠错实战
      • 实验 3. 破坏 4000K 字节, fec 工具纠错实战
      • 实验 4. 破坏 6792K 字节, dm-verity 纠错实战
      • Android 镜像纠错能力总结
  • Android AVB 分析(二十)Android 官方 FEC 文档解读
    • 链接:https://blog.youkuaiyun.com/guyongqiangx/article/details/145973033
    • 内容:
      • Android AVB 纠错概览
      • 前向纠错码和里德所罗门编码介绍
      • Android 从连续损坏的块中恢复
      • 严格强制执行的启动时验证与纠错结论

其它计划中的文章:

  • Android AVB 分析 (二一) 关于 Android AVB 配置

  • Android AVB 分析 (二二) LOCKED 状态数据保存在哪里?

  • Android AVB 分析 (二三) Rollback Index 是如何起作用的?

  • Android AVB 分析 (二四) 如何关闭 AVB 功能?

  • Android AVB 分析 (二五) remount 操作到底发生了什么?

3. 其它

我创建了一个 Android AVB 讨论群,主要讨论 Android 设备的 AVB 验证问题。

我还几个 Android OTA 升级讨论群,主要讨论 Android 设备的 OTA 升级话题。

欢迎您加群和我们一起交流,请在加我微信时注明“Android AVB 交流”或“Android OTA 交流”。

仅限 Android 相关的开发者参与~

公众号“洛奇看世界”后台回复“wx”获取个人微信。

android AVB2.0(七)AVB移植经验 文章目录前言一、移植需求二、分解需求三、详细设计1. RSA密钥生成2. 镜像签名和生成vbmeta镜像3. VeritySetup程序设计3.1 主程序设计3.1 公钥比对接口设计3.2 读取vbmeta分区设计3.3 DM verity设计3.4 分区挂载校验总结 前言 本篇应该是AVB系列的最后一篇博客了,前面的六篇博客基本上把AVB涉及到的技术点都过了一遍,因为平时要开发项目比较忙 所以有点时间就上来写写,文笔不是很好 大家将就着看看了~~ 感兴趣的朋友可以从这里开始android AVB2.0 阅读详情

相关推荐

Android AVB 分析(十一)bootloader 是如何进行 verify boot 检查的?

上一篇《Android AVB 分析(十)AVB 有哪些相关的源码?》中分析了 AVB 源码结构,本篇正式深入 AVB 源码,看看在 bootloader 中是如何使用 libavb 进行 verify boot 检查验证的。

洛奇看世界 2412

Trustzone/TEE/系统安全开发速成班

# 课程背景2021年ARM又推出了ARMv9架构,系统软件架构也在悄无声息地发生变化。在这种架构中,强调的是隔离技术,包括资源的隔离、运行时隔离,特权操作系统的权限也变得越来越小…不管您是什么领域,ARM服务器、汽车电子、手机或者是其它设备终端,安全都是其中的一个重要环节。我们常说的安全一般是只网络安全/业务安全/App安全,这些安全依赖的正是操作系统安全,操作系统安全所依赖的就是安全架构技术,在该安全架构中,首当要学习的就是Trustzone/TEE技术。只有设备安全/操作系统安全/APP安全/网络安全/服务器安全整个一条链都安全了,那么你的业务才算得上的安全.不管您是做什么的,您做不做安全或虚拟化,掌握整个系统软件架构也是一件必要的事情。您只有掌握了安全架构,你才具有全局的视野,才能进行全局的软件设计,才称得上架构师。安全不仅仅是架构安全,安全还是一种生态,安全还产生一类标准。安全出现在产品声明周期的任何一个角落,它可能零碎地出现在硬件中、零碎地出现在软件代码中。如果你不了解安全,你可能无法进行优秀的产品设计,你甚至无法去正确的阅读代码。# 课程介绍(1) 讲解ARM最新硬件架构(ARM Core、ARM Architecture)、SOC架构(2) 讲解最新的Trustzone安全架构、TEE架构、Secureboot等(3) 讲解软件组件:TF-A(ATF)、optee_os、Linux Kernel、CA/TA应用程序等,及其交互模型、设计模型(4) 多系统交互代码导读、安全论证实践、CA/TA示例实践、安全业务设计实践(5) 我们学习的是全部硬件、全部系统,软硬结合,或者是大系统的软硬件融合# 课程收益1、安全不再神秘,能cover住全局2、熟悉ARM Architecture架构知识3、熟悉SOC架构知识4、熟悉主流的系统软件框架5、知道多系统之间是如何交互的,也能够进行系统级的设计6、深入了解当前的系统安全架构以及未来安全架构趋势7、熟悉基础的安全业务设计方法8、熟悉系统的启动流程、Secureboot等9、知道Linux Kernel在大系统中的位置,以及与其它系统交互的方法10、熟悉各类标准和规范11、学习资料的获取方法 # 课程大纲《Trustzone/TEE/系统安全开发速成班》 --当前48节课/19小时说明: 本视频会持续更新,购买时请以课程目录为主。本EXCEL一个月更新一次。章节编号课程时常第一章基础和简介1课程介绍 8:332ARM和SOC的架构简介60:13第二章软硬件基础3armv8/armv9基础概念26:204ARMv8/ARMv9的Trustzone技术77:565ARMv7的Trustzone技术8:376安全架构及其未来趋势(FF-A/SPM/CCA)6:417ARMv9 CCA机密计算框架底层核心原理简介20:448ARMv9 RME安全扩展详解61:299ATF Quick Start0161:2710Optee Quick Start49:3411系统软件Quick Start21:0412Secureboot原理深度讲解60:2813Android AVB的介绍26:0914TZC400详解17:5615TZC400代码导读之ATF13:4416RPMB详解30:0617RPMB代码导读之optee14:0318efuse详解12:1919Anti-Rollback的介绍11:33第三章软件架构20TEE的组件介绍67:5921TEE的RPC反向调用31:1422TEE的调度模型21:3223各类标准和规范22:17第四章软件架构(高级)24多系统之间的管理模型(ABI/标准)10:3025多系统之间的调度12:2126多系统之间的中断(不含虚拟化)61:4727多系统之间的中断(虚拟化)6:5728再谈多系统之间的调度(多核多线程)10:3129其它(内存管理/PSCI...)10:12第五章安全应用开发基础30安全应用开发基础5:3731TEE环境:qemu_V8环境的使用4:2032TEE环境:编写一个CA和TA程序11:0433TEE环境:编写漂亮的文档4:1434TEE环境:搭建阅读代码神器opengrok3:2635TEE环境(必看):使用集成好的qemu_v8镜像程序20:2936[CA/TA开发]CA到TA的通信9:1837[CA/TA开发]CA到TA的传参27:1638[CA/TA开发]TEE中的存储系统20:5739[CA/TA开发]TEE中的密码学系统简介12:3740[CA/TA开发]TEE中的密码学系统简介-数字摘要Hash等33:2141[CA/TA开发]TEE中的密码学系统简介-对称密码学算法AES等12:2042[CA/TA开发]TEE中的密码学系统简介-消息摘要算法HMAC等15:4843[CA/TA开发]TEE中的密码学系统简介-非对称密码学算法RSA等7:33第六章安全业务设计高级44Gatekeeper的介绍29:3245keymaster/keymint/keystore/keystore213:2746生物认证(指纹/人脸)13:5747DRM的介绍21:3748TUI的介绍17:03总计时统计(分钟)1128:12 说明:本课程会持续更新…

Android AVB 分析(十七)程序员的FEC(Reed-Solomon)编码实战

上一篇《Android AVB 分析(十六)5个例子理解 FEC(Reed-Solomon) 的工作原理》中解释了 FEC 以及 RS(里德所罗门编码)的原理,并基于 Python 的 reedsolo 库提供了 5 个 RS 编码和解码的例子。通过对原始数据进行编码生成 FEC,以及对错误数据进行纠正还原数据。我相信如果您阅读了这篇文章,并亲自去做了这几个实验,那一定会对 RS 编码有一个比较切身的了解。也可能你还希望有一些补充,所以我个人觉得以程序员实践的角度为出发点的本篇同样可以让你有些收获。总体上,

洛奇看世界 432

Android安全启动学习(三):AVB校验的内容、怎么校验、AVB的作用

前面学习了1、AVB是什么?校验安卓镜像的,完成整个安全启动的。2、安卓的镜像有什么?主要就那三个大玩意:boot、recover、system。3、有个 vbmeta.img还记得吗?bootloader验证vbmeta的签名**,再用vbmeta的key以及hash值验证dtbo/boot/system/vendor。好了,这里开始AVB校验的学习。1、校验的内容。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1万+

Android AVB 分析(二十)Android 官方 FEC 文档解读

在前两篇中详细介绍了 Android 镜像中的 FEC 数据是如何生成的。以及 Android 镜像中使用 FEC 对多达 6.63M 连续破坏数据的修复。但你可能还会觉得不过瘾,为啥采用 RS(255, 253) 编码,为啥不采用具有更强纠错的其它编码?采用 FEC 纠错的代价有多大?采用 FEC 对 Android 性能的影响有多大?为此,Android 在官方的 AVB 文档中补充了一篇文章链接:《严格强制执行的启动时验证与纠错》,这篇文章详细介绍了为什么采用 FEC 纠错,以及相应的评估和需要为此特

洛奇看世界 483

Android AVB 分析(十三)dm-verity 设备是如何映射的?

在上一篇《Android AVB 分析(十二)嵌入式设备安全中的 dm-verity 简介》介绍 dm-verity 原理的时候,作者提供了一个 dm-verity 演示的例子。本篇我们基于 AOSP 源码 `android-13.0.0_r41` 实际编译生成的 Google Pixel 7 (“panther”) 设备的 system 分区镜像进行 dm-verity 设备验证实战。

洛奇看世界 2438

Android AVB 分析(一)AVB 到底该如何学习?

关于程序,从宏观上看,程序由数据和围绕数据的一系列操作构成,所谓的操作主要是数据的增删改查,在类似 Android 这样的系统中,还包括配置和编译。 对于 Android AVB 机制也不例外,AVB 的目的是验证启动中的每一个环节,包括: 1. 芯片 ROM 验证 bootloader (芯片厂家和 OEM 完成); 2. bootloader 验证 Android boot 和 vbmeta 等分区 (通过集成 libavb 完成); 3. bootloader 将 verity 相关参数传递给

洛奇看世界 3150

avbtool.py查看boot.img、system.img、vbmeta.img签名信息工具

avbtool.py查看boot.img、system.img、vbmeta.img签名信息工具, linux平台用法: $ sudo apt install python2.7 $ python2.7 avbtool.py info_image --image boot.img 其中 boot.img为你需要查看的img文件路径 windows平台需要字节研究,理论也可以用的。

Android AVB 分析(十)AVB 有哪些相关的源码?

前面的几篇内容主要分析 avbtool 工具源码,通过分析,我们看到了 avbtool 如何处理各种镜像 image,包括各种分区镜像的 AVB 数据是如何生成的,例如 hash, hashtree, FEC 和 VBMeta 等。因此,前面几篇的核心是 AVB 相关数据的生成~从本篇开始,逐步介绍 AVB 数据的使用,包括基于 boot 这类小分区镜像生成的 hash,以及基于 system 这类大分区镜像生成的 FEC 和 hashtree,这就必须涉及到大量的代码。

洛奇看世界 1498

Android启动时验证(AVB)

本文档介绍了Android启动时验证(AVB)的相关知识。 AVB(Android verify boot)是Android的一种安全机制,确保镜像数据的完整性和可靠性。

STM32-DAC定时器触发三角波生成【频率与幅度精准控制】

本文详细介绍了STM32 DAC定时器触发三角波生成的原理与实现方法,涵盖硬件配置、频率与幅度精准控制技巧及代码实现。通过定时器触发DAC模块,可灵活调节三角波的频率和幅度,适用于信号发生器等高精度应用场景。

weixin_29161785的博客 453

Android AVB 分析(八)VBMeta 数据解析和签名验证实战

在上一篇《AVB 的 VBMeta 数据是如何生成的?》中,我们分析了 VBMeta 数据时如何生成的,以及 VBMeta 的主要布局,但并没有进一步深入检查 VBMeta 的数据。本篇我们继续深入 VBMeta 数据,实战手动验证签名,解析各种描述符。

洛奇看世界 3774

RoboMaster机甲大师赛备赛:如何用STM32+CAN总线精准控制四个大疆3508电机?

本文详细介绍了在RoboMaster机甲大师赛中,如何利用STM32和CAN总线技术精准控制四台大疆3508电机。从硬件架构设计、多电机ID分配、数据解析到同步控制算法,全面解析了构建高响应、低延迟底盘驱动系统的关键技术,助力参赛队伍提升机器人运动性能。

weixin_28684825的博客 134

Android AVB 分析(二)AVB 2.0 自述文档(注释提问版)

我一开始并没有打算要翻译这个 Android 自带的 AVB 2.0 自述文档,因为网上已经有很多篇这个文档了,简直不计其数。但是 AVB 自述文档又实在是太重要了,所以如果只推荐一篇文档的话,那肯定就是官方这篇。所以,我这里也不免俗,将 Android Verified Boot 2.0 最新的文档(2025/01/18) 通过 AI 翻译在这里,并附上我的部分解读,以及提出的一些问题

洛奇看世界 2734

Codesys.运动控制修改凸轮点

通过改凸轮曲线的主从轴缩放比例或者偏置。 新建多个凸轮曲线,对CAM曲线进行切换。 程序中动态修改,仅修改中间的关键点(凸轮末点修改or凸轮曲线运行中修改)。 程序中动态修改,修改首未关键点及关键点个数,需要重新触发MC_TableSelect。 使用程序新建凸轮表代码,实现电子凸轮基本运动。 我们讲的凸轮表切换、关键点修改、程序新建电子凸轮,这些方法没有本质区别,总之都是“趁曲线不注意,把凸轮表改了。

傻响雨 6828

Matlab App Designer自学笔记(六):坐标轴控件axis函数绘图方法

作用: 绘制函数显示 显示图像(jpg png tiff) 颜色选项: r(红色) g(绿色) b(蓝色) w(白色) k(黑色) 其他 一、坐标区控件及设置 可以对坐标去进行设计: 二、功能实现及编程 功能:点击“绘图按钮”,能显示曲线。 实现:对按钮设置回调函数 若要多个图像显示在一个坐标系中,需要语句:hold(app.UIAxes,"on"); app.UIAxes是这个坐标轴的名字。 function ButtonP...

陶小桃Blog 3万+

Android AVB 挑战,100 个问题你能回答几个?

我使用 AI 整理了 100 条关于 Android Verified Boot (AVB) 的问题,涵盖原理、源码、镜像布局、工具、签名验证、dm-verity、FEC、开关、回滚保护及数据存储等方面,这些问题可以用于测试你对 AVB 的理解和掌握程度。有些问题有标准答案,另一些则没有,所以不要纠结于具体的答案,我也不会提供所谓的标准答案,欢迎加入我的 AVB 讨论群和大家一起交流学习。我创建了一个 Android AVB 讨论群,主要讨论 Android 设备的 AVB 验证问题。

洛奇看世界 1270

麒麟系统无法进入单用户模式该怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1820

Android AVB 分析(四)system.img 到底包含了哪些数据?

在上一篇《AVB 数据实战之 boot.img》中分析了使用 add_hash_footer 操作的 boot.img 镜像的格式。本篇进一步分析 add_hashtree_footer 操作的 system.img 镜像的格式。因此,system.img 都包含哪些数据,你有尝试亲自去分析 system.img 吗?一个 system 分区的镜像,为了满足 AVB 需要,需要进行如何处理?本文以实际操作的形式,带你查看 system.img 镜像,包括 avbtool 的多个操作,以及如何如何手动解析 A

洛奇看世界 1606

Windows 下 Claude Code Desktop 安装与使用全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Claude Code 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Claude Code 的同学们有所帮助。 文章目录 1. 背景 2. 安装Claude Code Desktop 3. 配置第三方API 4. 日常使用

weixin_43178406的博客 8万+

减法平均优化器(SABO)算法详解:从数学原理到工程应用

减法平均优化器(SABO)是一种基于数学概念的新型元启发式优化算法,由Trojanovský和Dehghani于2023年提出。该算法通过v-减法运算和平均值计算实现搜索优化,核心创新是采用目标函数值差异符号引导搜索方向。SABO具有参数少、结构简单、收敛快等特点,在高维复杂问题中表现优异。算法通过种群平均值保持多样性,利用符号函数确保搜索方向改进,自然平衡探索与开发。MATLAB实现显示其计算复杂度为O(N²·D),与主流群体智能算法相当。SABO不依赖生物或物理隐喻,数学基础坚实,在工程优化和机器学习领

qq_42212808的博客 165

Android AVB 分析(九)Auxiliary Data 包含了哪些描述符和公钥?

在上一篇《Android AVB 分析(八)VBMeta 数据解析和签名验证实战》中,对一个典型的 boot.img 的 VBMeta 进行了注释。对每一个 VBMeta 数据,分成 3 个部分: VBMeta 头部的 meta 数据 AvbVBMetaImageHeader,用于描述整个 VBMeta;VBMeta 的验证数据块 Authentication Data Block,主要用来检查 VBMeta 数据的哈希和签名;VBMeta 的辅助数据块 Auxiliary Data Block,包含了各种

洛奇看世界 1309

ReAct 智能体 Agent:架构解析与实践拓展

ReAct 智能体 Agent 凭借其推理与行动协同的独特架构,在众多人工智能应用场景中展现出巨大的潜力。从智能办公到教育辅导,从智能家居到工业物联网,ReAct 智能体通过精准推理和高效行动,为用户提供了更加智能、便捷的服务体验。然而,在实际应用过程中,仍面临工具调用安全、模型持续学习、多智能体协作管理以及性能优化等多方面的挑战。通过合理的策略和技术创新,如强化工具审核机制、构建持续学习框架、设计高效协作协议和采用性能优化手段,我们有望逐步克服这些挑战,进一步提升 ReAct 智能体的性能和可靠性。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1688

Android AVB 分析(六)FEC 数据到底是如何生成的?

Android 编译时会调用 avbtool 对 system, vendor, product 等镜像生成 hashtree,但对于大的镜像,还会在 hashtree 之后生成用于纠错的 FEC 数据。那这个 FEC 到底是如何生成的呢?本篇以 android-13.0.0_r41 中编译 aosp_panther 目标的 system 镜像为例。探究下 system.img 的 FEC 数据到底是如何生成的。

洛奇看世界 1902

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android AVB 分析(七)VBMeta 数据是如何生成的?

前面几篇分析了 boot.img 和 system.img 的布局,以及 system.img 中的 hashtree 和 FEC 数据,对于最重要的 VBMeta 数据还没有涉及。本篇重点分析下 VBMeta 数据的生成以及结构。

洛奇看世界 2646

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android AVB 分析(五)哈希树到底是如何生成的?

Android 编译时会调用 avbtool 对 system, vendor, product 等镜像生成 hashtree,但这里的 hashtree 到底是如何生成的呢?本篇以 android-13.0.0_r41 中编译 aosp_panther 目标的 system 镜像为例。探究下 system.img 的 hashtree 到底是如何生成的。

洛奇看世界 1179
上一篇: Android AVB 分析(二)AVB 2.0 自述文档(注释提问版)
下一篇: Android OTA Patch (一) VAB 的 status 状态没有写入到磁盘文件中
洛奇看世界
博客等级 码龄12年 1万+粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

洛奇看世界

一分也是爱~

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

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

打赏作者

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

抵扣说明:

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

余额充值