CANoe-如何实现27服务解锁

news2024/12/23 8:31:48

27服务解锁的工作原理可以在文章《诊断27服务介绍》查看,这里简单介绍下流程:

Tester向ECU发送27 01诊断请求请求种子seed,ECU收到该请求后随机生成一个seed,通过67 01诊断响应发送给Tester。Tester收到该诊断响应后取出seed值,传入和ECU相同的算法后生成一个密钥keyT。然后Tester把这个密钥keyT用诊断请求27 02发送给ECU,ECU收到该请求后取出密钥keyT,再用生成的seed和自己的算法计算出一个密钥keyE,比较keyT和keyE。如果它们相等,说明Tester使用和ECU相同的算法,可以证明Tester的身份是安全的,执行某个安全等级的解锁。

以上内容中:

  • 27 01和27 02中,01和02代表了某个安全等级解锁的request seed和send key的subFunction子功能值
  • Tester想要解锁ECU,必须使用和ECU相同的算法

所以一个关键的问题就是:CANoe如何使用这个算法?以何种形式使用?

CANoe作为Tester进行诊断通信时,最常用的方式是加载cdd文件后在诊断控制台手动发送诊断请求并接收诊断响应。此时Tester和ECU在CANoe中建立了一个诊断通信的“内部通道”,传输层和诊断层参数在加载cdd文件时自动配置到:

诊断配置界面

在诊断层配置界面,有一个安全访问相关的添加栏,里面可以添加dll文件,它就是27算法所在的文件:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1084780.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[C++11]花括号{}、initializer_list、auto、decltype

文章目录 1.花括号{ }的扩展2.initializer_list3.auto4.decltype5.容器的增加5.1array[useless]5.2forward_list[useless]5.3unordered_map/unordered_set5.4统一增加 6.知乎文章 1.花括号{ }的扩展 int main() {//C98花括号{ }支持 1.数组 2.结构体struct Point{int _x;int _…

系统韧性研究(1)| 何谓「系统韧性」?

过去十年,系统韧性作为一个关键问题被广泛讨论,在数据中心和云计算方面尤甚,同时它对赛博物理系统也至关重要,尽管该术语在该领域不太常用。大伙都希望自己的系统具有韧性,但这到底意味着什么?韧性与其他质…

“AI大模型+电子签”,下一站在哪?

大模型所带来的数据分析、训练能力,将使得一些厂商的数据优势被逐渐放大,打造自身的差异化,打破电子签赛道同质竞争的局面。 作者|斗斗 编辑|皮爷 出品|产业家 AI大模型爆发以来,参与者众多。在电子签领域,这个…

前端代码重复度检测

在前端开发中,代码的重复度是一个常见的问题。重复的代码不仅增加了代码的维护成本,还可能导致程序的低效运行。为了解决这个问题,有许多工具和技术被用来检测和消除代码重复。其中一个被广泛使用的工具就是jscpd。 jscpd简介 jscpd是一款开…

格式转换 ▏Python 实现Word转HTML

将Word转换为HTML能将文档内容发布在网页上,这样,用户就可以通过浏览器直接查看或阅读文档而无需安装特定的软件。Word转HTML对于在线发布信息、创建在线文档库以及构建交互式网页应用程序都非常有用。以下是用Python将Word转换为HTML网页的攻略&#xf…

软件测试/测试开发丨校招推荐-中控技术股份有限公司岗位开放

软件测试工程师 岗位职责 1.参与软件项目需求分析,根据需求制定测试方案,设计测试用例,输出测试报告; 2.实施软件测试,对产品的接口、功能、性能等方面的测试负责; 3.针对项目中的问题进行跟踪分析和报…

从一个咖啡机提取一个嵌入式前端应用

学习一下除C或系统外的另一种嵌入式程序编写方法,JavaScript用于UI的设计与串口设备的控制 设备是基于SSD202芯片,dispinit初始化LCD,mplayer为程序需要用到视频播放程序,感觉开发效率会比较高及用户体现会比较好,毕竟…

新书免费领 | 数睿数据参编的《零基础学低(无)代码》图书正式发行

由中国工业出版集团、电子工业出版社出版的《零基础学低(无)代码》图书现已正式对外发行,目前已在多个购书平台和阅读平台上线。 本书由中国软件行业协会应用软件产品云服务分会秘书长曹开彬、清华大学软件学院副研究员刘英博主编。数睿数据…

智能工厂:APS高级计划排程系统成为了制造业建设智能工厂的核心必要需求

近年来,中国经济受到了许多因素的影响,例如新冠疫情冲击和国内外经济环境的巨大变化,随着我国人口红利的减少和人力成本逐步的增加,不论是中大型或小微制造企业为了提高市场竞争力并降低生产成本,都纷纷开始规划建设数…

实用!生产车间管理方案(万人收藏)

生产车间怎么管理? 发现大多数是车间管理普遍存在的问题,本文总结了以下几个方面: 1、制度管理 (1)没有明确的生产计划,生产流程混乱 (2)没有准确的记录和跟踪 2、人员管理&…

MySQL分页排序注意事项

最近测试发现个bug,同一个列表,分页选择展示10条数据时和展示20条数据时,展示20条数据不是展示10条数据下10条数据,数据有所错乱,如下图示。 SELECTid,no,year,quarter,dept_id,dept_name,create_time FROMlist_list …

Blender:制作一个变形动画

就是一个球逐渐地变为一个立方体 首先创建一个球和一个立方体 然后把两个物体放在一起,放缩球,让球包含立方体 之后选中球,为其添加修改器,缩裹 在这里选择缩裹对象为立方体 然后在应用下拉箭头中选择“应用为形态键” 下一步选中…

文件混淆-界面介绍

​ 介绍文件混淆界面功能选项和操作流程 文件混淆-界面介绍 文件混淆功能区域包括3个功能区:顶部显示过滤区、中间文件列表区、底部的是否混淆开关 ​ 顶部介绍 显示控制区域,这个区域用来辅助显示过滤查看文件,不会修改文件显示方式&am…

vue3学习源码笔记(小白入门系列)------provide和 inject 跨层级数据传递原理

目录 前言provideinject 总结 前言 需要从父组件向子组件传递数据时,会使用 props。对于层级不深的父子组件可以通过 props 透传数据,但是当父子层级过深时,数据透传将会变得非常麻烦和难以维护。 而依赖注入则是为了解决 prop 逐级透传 的问…

python 将字节字符串转换成十六进制字符串

嗨喽,大家好呀~这里是爱看美女的茜茜呐 想将一个十六进制字符串解码成一个字节字符串或者将一个字节字符串编码成一个十六进制字符串 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、…

深入理解Kafka分区副本机制

1. Kafka集群 Kafka 使用 Zookeeper 来维护集群成员 (brokers) 的信息。每个 broker 都有一个唯一标识 broker.id,用于标识自己在集群中的身份,可以在配置文件 server.properties 中进行配置,或者由程序自动生成。下面是 Kafka brokers 集群自…

电脑出现msvcr120.dll文件缺少怎么办-缺少msvcr120.dll文件修复方法

电脑出现 msvcr120.dll 丢失的情况,通常是由于系统文件损坏、软件冲突、病毒感染等原因引起的。为了解决这个问题,这里提供了 6 种修复方法,以及关于 msvcr120.dll 文件的详细介绍和丢失原因。 6 种修复方法:第一:利用…

重庆建筑模板厂家有哪些?

重庆地区的建筑施工企业在寻找可靠的建筑模板供应商时,广西贵港市能强优品木业是一个备受推崇的选择。作为建筑模板生产的优秀供应商之一,能强优品木业不仅能提供高质量的建筑模板,还可提供整车物流包运输,并将货物发货至重庆各地…

《持续交付:发布可靠软件的系统方法》- 读书笔记(一)

持续交付:发布可靠软件的系统方法(一) 第一章 软件交付的问题1.1 引言1.2 一些常见的发布反模式1.2.1 反模式:手工部署软件1.2.2 反模式:开发完成之后才向类生产环境部署1.2.3 反模式:生产环境的手工配置管…

### Cause: dm.jdbc.driver.DMException: 第 9 行, 第 85 列[is]附近出现错误: 语法分析出错

问题出现 (case when pcf.CONTRACTS_DURATION_UNITS || pcf.CONTRACTS_DURATION_UNITS is null then null else M end)contractsDurationUnits,(case when pcf.CONTRACTS_DURATION_UNITS_NAME || pcf.CONTRACTS_DURATION_UNITS_NAME is null then null else 月 end)contrac…