CAN 总线破解 汽车协议破解 - 浅谈

        从事汽车协议数据分析也有几年了,从刚入门时的一穷二白,到现在拥有自己的一套破解流程和自己开发的一系列破解工具和软件,也算是有点经验和积累了。今天写个博客哔哔下,才疏学浅,平铺直叙,兄弟们多担待!

一、数据破解的理解

        我理解的数据破解,也叫它逆向开发。说白了就是揣摩原厂工程师的编程习惯和编程思路。每个汽车品牌的工程师都有自己的风格。数据有的很直观,有的很抽象,有的宏观,有的负逻辑,五花八门。总之做数据破解之前需要先格式化自己的思维,不能带有任何的破解思维模版,否则会被自己带偏。

二、知识储备

        个人认为想要破解数据,需要非常丰富的项目经验和知识储备,可能有些数据很直观一眼就看的出来,但是有些数据涉及的知识面很广,如果只会软件是很难分析出来的。

        第一,分析数据首先你要对分析的对象有一定的认知,有什么功能,可能会有哪些数据,跟哪些对象有关联,对象会不会有隐藏功能等等。之前遇到的一个案子解析一款车灯协议,里面包含了车速、前倾角、侧倾角、方向盘等看似毫不相关的数据。所以你要分析车的部件,你需要懂车。

        第二,需要有一定的电路设计经验和硬件测试经验,当你在分析数据,遇到一些数据没有头绪时,可以考虑从硬件入手,分析板子上会不会存在传感器之类或者电参之类的信息数据,比如板上的温度、电压、电流、外部信号,接线属性等。

        第三,需要会写数据处理,数据分析。刚开始的时候,由于缺少经验,会的不多,把处理的核心交给单片机去做数据分析和筛选,就需要不断的编程下载,加上MCU的RAM和ROM的影响,注定效率不高。所以,建议学学python。

        以上三个个人觉得是做数据分析必备的知识技能,这三点必须是一个人都会,如果是团队也很难有效的配合分析出来的。不过我了解的很少人都会,现在的公司划分很细,软硬件工程师分工明确,这不利于数据分析。

三、采集解析工具

        采集解析是分析的第一步,我们开始的时候用的是逻辑分析仪,逻辑分析仪可以解析常见协议数据帧格式,还是比较好的工具,但是逻辑分析仪只局限于数据采集和帧解析。数据帧只能解析已有的帧协议,像CXPI、BSD总线之类的就没办法分析提取,功能有限。所以,逻辑分析仪只做为辅助工具,我们设计了多款电路板针对不同的协议,好用高效。

四、数据筛选和数据分析

        之前提到过数据筛选和数据分析,数据筛选和数据分析是最重要也是最难的。不能有固定思维,也没有固定模版,一切只能随机应变,需要工程师多才多艺。如何高效的分析出数据,是需要项目经验日积月累的。数据分析最重要的一点是会模拟测试,数据采集是很难完全采集到对象全部现象数据。只能通过模拟测试环境,测试采集隐藏的功能和数据。

五、模拟测试软件开发

        模拟测试软件的搭建是必要的,这是除了之前所说的三个必要知识储备之外的一个技能。数据分析之后需要验证测试,对客户的演示以及生产测试工具都是必要开发的。

总结:

        总线协议数据分析实属不易,只要有一点数据分析没到位,前功尽弃,花了大把的时间,最后没有任何回报,风险太大。而且对工程师的要求很高,所以极少人从事这个行业。好在我们从开始的一穷二白坚持下来了,随着项目的不断积累,测试板和解析软件的不断更新迭代,我们有足够的底气面对全新的挑战。如果您有数据解析的需求,可以联系我,期待与您的合作。

版权声明:本文为CSDN博主「厦门市创宇致诚电子科技有限公司」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42278497/article/details/122814793

生成海报
点赞 0

暂无评论

发表评论

相关推荐

单片机如何能运行如飞?一种高效实现数学函数的方式!

大家好,我是小麦,今天给大家分享一下如何在资源紧张,算力较低的单片机上实现三角函数的算法。 之前发过一篇关于IQMath的文章,这个是ti公司平台上的一个数学运算库,里面封装了很多高效的数学运算方法。 例如在不具备浮点运算器的定点处理器使用定点

Keil MDK5 STM32F103C8T6开发环境配置

Windows下使用Keil MDK5进行stm32f103c8t6的开发和编译, 配合ST-LINK工具进行烧录, 使用原生(非HAL)的方式. 所需硬件 stm32f103系列开发板 stm32f103c8t6核心板 参数 ARM 32-b

树莓派4B控制伺服电机 串口转485通信

树莓派4B控制伺服电机 TTL串口转485通信 python 1. 树莓派串口设置 1.设置树莓派的串口输出,先确保树莓派4B的串口输出正常,可以串口连接电脑测试收发,按照下面两个教程走即可。 树