news 2026/6/14 17:07:55

三年后更新:本田思域车载主机逆向工程进展与“邪恶代客泊车”漏洞揭秘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
三年后更新:本田思域车载主机逆向工程进展与“邪恶代客泊车”漏洞揭秘

开启关键之门

三年前发布对2021款本田思域车载主机研究和逆向工程初步成果,现更新项目进展。在梳理更新流程方面取得重大进展,本田支持通过USB对车载主机更新,USB驱动器含签名的AOSP更新文件,经Android恢复模式暂存和应用。好在其`res/keys`中保留公开的AOSP测试密钥,即便修改`recovery`二进制文件,`verify_file`签名逻辑与原生AOSP一致。所以,正确格式化USB驱动器并以公开AOSP测试密钥签名,无需传统root权限就能将内容安装到车载主机。只要车载主机通电,攻击者物理访问前端USB端口,就能通过更新路径执行任意代码,这是“邪恶女仆攻击”,因需物理访问汽车内部,称其为“邪恶代客泊车攻击”,也叫“EvilValet”。此博客非技术详细分析,想了解可查看技术文档。还发布新工具ota - builder,虽处早期阶段,但构建安装带有`setuid`的`su`二进制文件的更新文件较容易。有理由相信所有更新用公开AOSP测试密钥签名,虽无法获取所有官方更新文件和访问所有车载主机变体及其文件系统,不过确认公开可用的欧盟软件更新文件`MRC_EU_SW_v12_4.zip`用测试密钥签名,欢迎贡献者支持或反驳该假设。

工具构建

除更新流程,最有用的是apk - rebuilder,它能从互联网获取本田思域更新文件,生成清晰输出文件树,自动完成逆向工程师手动工作,包括解析资源、重构.smali代码、重新打包APK文件、提取ramdisk等。因不能发布本田实际源代码,发布一个接收更新文件输出本田.smali代码、图像资产等的函数,生成输出遵循清晰目录结构,可在文档中引用,无需上传敏感文件本身。

待完成工作——招募贡献者

有一些未完成的工作值得去做。

已知版本

更新流程脆弱,依赖版本号,虽不限制运行未签名代码能力,版本号可“伪造”,但构建更新文件需知车载主机期望的版本号,且车载主机软件与构建不匹配的更改可能导致意外行为和恢复循环。若驾驶第十代本田思域且懂技术,鼓励为仓库中“已知版本,显示音频软件”部分做贡献。若特别勇敢,可阅读`ota - builder`代码尝试刷新更新,但要自行承担风险,不同车载主机可能陷入恢复循环致设备软砖。

工具链

本地机器上有试验阶段、仍在开发的工具链,它获取候选的.c代码,用与原始供应商二进制文件相同编译器版本和构建标志为ARMv7编译,在理解更新流程工作中不可或缺,大量使用Docker。当前版本杂乱,特定于工作流程,希望发布更清晰实现。

自定义主题

开发apk - renderer时对此有探索,自定义主题难实现,因存在于三菱版的AOSP框架中,车载主机应用压缩且期望使用硬编码资源ID,发布自定义主题需精细编辑供应商框架并编写自动完成工具,虽不简单、可能不值得努力,但欢迎贡献者参与。

改进aidl - rebuilder

开发了解析.smali文件并生成/映射车载主机上所有AIDL接口的工具,该工具可工作,但未完全审核准确性,为开发自定义应用(如虚拟速度计)打开大门,欢迎贡献者参与。

关于文档和大语言模型的思考

更注重工具开发而非参考文档,想法是提供可靠、确定性工具将车载主机代码转换为易理解形式,人们可用大语言模型查询以回答具体问题,这样可避免维护与实际车载主机代码不一致的参考文档,因车载主机代码才是事实依据。如解释通过ADB连接到车载主机的用户指南有用,但大语言模型可直接访问Java代码时,解释某些Java代码工作的文档成维护负担。

总结与致谢

目前对车载主机大部分调查工作已完成,这是可无休止投入精力的项目,但可能转向其他项目,不过仓库不会被放弃,随时欢迎提交拉取请求。特别感谢Tunas带来美好回忆,以及Hackaday对最初工作的报道。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 17:02:58

i.MX27嵌入式开发实战:1-Wire与ATA接口寄存器级配置与调试指南

1. 项目概述 在嵌入式系统,尤其是像i.MX27这类面向多媒体应用的处理器的设计中,与外设的“对话”能力是决定产品功能丰富性和稳定性的基石。这其中,两类接口扮演着至关重要的角色:一类是用于连接简单、低成本传感器的低速串行总线…

作者头像 李华
网站建设 2026/6/14 16:58:14

分布式事务 Seata AT 模式:从全局锁到回滚日志的源码级理解

分布式事务 Seata AT 模式:从全局锁到回滚日志的源码级理解 一、微服务事务的一致性困境:本地事务为何失效 单体应用中,数据库本地事务可以保证 ACID。但微服务架构下,一个业务操作可能涉及多个服务的数据变更:订单服务…

作者头像 李华
网站建设 2026/6/14 16:55:53

统一游戏模组管理平台:XXMI启动器技术解析与应用指南

统一游戏模组管理平台:XXMI启动器技术解析与应用指南 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 在二次元游戏模组管理领域,玩家常常面临多工具切换、…

作者头像 李华
网站建设 2026/6/14 16:53:55

3分钟搞定:Realtek RTL8125 2.5G网卡驱动安装终极指南

3分钟搞定:Realtek RTL8125 2.5G网卡驱动安装终极指南 【免费下载链接】realtek-r8125-dkms A DKMS package for easy use of Realtek r8125 driver, which supports 2.5 GbE. 项目地址: https://gitcode.com/gh_mirrors/re/realtek-r8125-dkms 你是不是正在…

作者头像 李华
网站建设 2026/6/14 16:53:26

【共创季稿事节】Grid+WaterFlow混合布局-鸿蒙ArkTS实战博客

鸿蒙原生 ArkTS 布局实战:Grid WaterFlow 混合布局(顶部网格 底部瀑布流) 一、引言 在移动端应用开发中,混合布局是首页设计的常见模式。典型的「顶部网格分类 底部瀑布流内容推荐」布局,既能高效展示多入口&…

作者头像 李华
网站建设 2026/6/14 16:53:25

OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源

OpenClawPower Apps 实战:自动化构建企业级应用全流程一、OpenClaw基础架构解析OpenClaw作为自动化生成引擎,其核心由三大模块构成:数据感知层通过内置的DataSensor组件实现数据源特征识别,支持包括:Excel文件格式自动…

作者头像 李华