从门铃逆向工程 12 字节串行数据包

逆向工程 串行通讯
2021-06-10 23:05:07

我正在尝试对相当旧的视频对讲机使用的协议进行逆向工程。使用 UART 逻辑分析仪能够猜测波特率、数据位、开始/停止位。它以 14v 闲置并拉至 GND 为 0。

当我重复按下相同的按钮序列时,我得到以下字节:

PREAMBLE (sent when waking up unit):
0x02 0x16 0x10 0x10 0x10 0x10 0x10 0x10 0x11 0x11 0x18 0x03

VIDEO ON:
0x02 0x3c 0x31 0x09 0x38 0x25 0x11 0x6f 0x00 0x1e 0x71 0x03 0x02 0x3d 0x11 0x6f 0x00 0x1e 0x31 0x09 0x38 0x25 0x72 0x03

MIC ON:
0x02 0x4a 0x31 0x09 0x38 0x25 0x11 0x6f 0x00 0x1e 0x7f 0x03 0x02 0x4c 0x11 0x6f 0x00 0x1e 0x31 0x09 0x38 0x25 0x01 0x03

UNLOCK DOOR:
0x02 0x38 0x31 0x09 0x38 0x25 0x31 0x45 0x11 0x1e 0x74 0x03 0x02 0x3a 0x31 0x09 0x38 0x25 0x11 0x6f 0x00 0x1e 0x6f 0x03

这似乎是任何类型控制系统的协议标准吗?

编辑:这是我能理解的最好的:https : //docs.google.com/spreadsheets/d/e/2PACX-1vQRyUafqa6CEMd9BOOyAWO4OKGXNKsGLvs6epR5PjqnqBRMbpWOqz2-ij51mFDz4lBUOcVSR7jxK5051mFDz4lBUOcVSR7jxK50gs=1vQRyUafqa6CEMd9BOOyAWO4

好像格式如下: BYTE1 = STX BYTE2 = COMMAND BYTE3,4,5,6 = SRC BYTE7,8,9,10 = DST BYTE11 = SUM of BYTE2 BYTE10 修剪为 8 位

1个回答

根据您的布局方式,您希望将其大部分正确地绘制出来,

前导(控制设备唤醒)将是数据总线上所有单元的通用广播消息,(下拉总线意味着它可以是多主机),因此它不需要确认,

其他消息遵循命令+确认方案,

检查是从命令字节到目的地结束的通用总和,(38 + 31 + 09 + 38 + 25 + 31 + 45 + 11 + 1e) = 0x174,将其减少到 1 个字节,= 0x74

我怀疑如果您重新启动设备,您可能还会在设备彼此握手时找到更多命令(地址可能不固定,但在加电时随机选择)

在此处输入图片说明