首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在封闭协议中寻找CRC算法

在封闭协议中寻找CRC算法
EN

Stack Overflow用户
提问于 2022-04-29 15:36:59
回答 1查看 78关注 0票数 0

我有一台带有封闭协议的机器和来自同一厂家的另一台设备“网关Modbus”。此网关将此协议转换为RS-485 Modbus.

当我向网关发送命令包(modbus函数16)时,网关向机器发送(转换)特定的数据包,当我通过简单的UART通信注入该数据包时,机器也可以理解和更改值。我用一些克隆的命令创建了一个列表,但是我需要知道CRC/checksum/etc是如何计算(我认为)来创建自定义数据包的。

我已经使用了RevEng工具(https://reveng.sourceforge.io/)和CRCcalculator (https://crccalc.com/),试图找到一些常见的克隆数据包的crc算法,但都没有工作。

一些克隆的数据包,其中2个最后字节是CRC/etc。在这个数据包中,我将温度值从0x11更改为0x15,最后2个字节也改变了(可能是crc/checksum/etc):

代码语言:javascript
运行
复制
9A56F1FE0EB9001100000100641C
9A56F1FE0EB90012000001006720
9A56F1FE0EB90013000001006620
9A56F1FE0EB9001400000100611C
9A56F1FE0EB9001500000100601C

RevEng输出:

代码语言:javascript
运行
复制
./reveng -w 16 -l -s 9A56F1FE0EB9001100000100641C 9A56F1FE0EB90012000001006720 9A56F1FE0EB90013000001006620 9A56F1FE0EB9001400000100611C 9A56F1FE0EB9001500000100601C
./reveng: no models found

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2022-04-29 20:41:58

这不是CRC。第二到最后的字节是前几个字节的独占之和.我不知道最后一个字节是什么,但由于它在示例中只接受两个不同的值,所以它似乎不是检查值的一部分。或者如果是的话,这是一个非常无效的检查值算法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72060375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档