电动汽车的车型复杂多样,TBOX如何做好汽车的总线数据功能协议适配?

本文主要是介绍电动汽车的车型复杂多样,TBOX如何做好汽车的总线数据功能协议适配?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一般可以借助 CANalyst-II 总线报文收发器工具与汽车的 CAN 总线相连,可以获取到 CAN总线上广播的 CAN 数据包。通过 CanTest 软件可以实时的观察到 CAN 总线上正在发送的数据包。

从大量的 CAN 数据包中进行逆向分析,找到汽车车身的控制指令对应的是哪一个 CAN ID,逆向分析出这样 CAN 数据包所代表的含义,这是最基本也是最重要的一步。逆向出了这些车身控制的数据包指令信息后,了解这些数据包的工作原理。根据这些数据包的工作原理,制定出可行性攻击策略。例如:

对于车身的某一项功能的控制,只需要一个 CAN ID 的数据包即可达到控制效果,对于这种情况,只需要单纯的重放这一个数据报即可达到攻击的目的,控制汽车车身的某一项功能。对于车身的某一项功能的控制,可能需要多个 CAN ID 的数据包联合才能控制。构造一个这样的 CAN ID 数据包,设定发送间隔发送到 CAN 网络当中,间隔的制定是为了绕过 ECU 的时间检测机制。

某些的 CAN ID 数据包中带有计数器,我们所谓的心跳包,在攻击的时候必须加上计数器,才能绕过系统检查。编写一个脚本程序模拟 CAN ID 数据包数据位的变化规律,将这样的数据发送到 CAN 总线当中等等。

数据包上一共 8 位,每一位上的字节代表什么。例如速度表上的数值,是 CAN 数据包数据位某几位数值,带入一个计算公式计算出来的,前两位数值相加与第四位数值的乘积为当前的车速值。对于这种数据包的破解,我们需要大量收集这个数据包,逆向出来这个公式。

CanTest 的 DBC(数据库功能)功能逆向数据包所代表的指令,DBC 功能能够显示当前总线中有多少种 CAN ID。在汽车作出动作指令后,CAN ID 的报文是如何进行变化的,DBC 会把变化的部分标成红色。通过观察哪一个 CAN ID 在汽车发出指令后发生变化(这种变化通常只在瞬间),来确定此项车身控制指令对应的是哪一个 CAN ID。

以车门数据为例,通过改变车门的开关状态,利用 DBC 进行观察。在车门改变开关状态的同时,观察是哪一个 CAN ID 发生了变化,从而确定和车门状态相关的 CAN ID是哪一个。测试环境说明:汽车未启动,车内一切电器设备保持原有状态,只对车门状态进行改变,DBC 界面如图:

通过实验统计发现车门的开关状态和数据位的第一位的第二个字节有关:

** ** ** 10 04 19 02 FF。

四个车门正好有 16 种状态,第一位的第二个字节正好能全部表示,如下表 3-2 所示:√表示车门开,×表示车门关。

这篇关于电动汽车的车型复杂多样,TBOX如何做好汽车的总线数据功能协议适配?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/841075

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据