求解析环境数据记录仪串口通信的异常校验字节
环境数据记录仪串口校验字节逆向分析思路求助
我正在进行环境数据记录仪的串口通信逆向分析,核心难点在于传输末尾的校验字节(类似Checksum或CRC)无法匹配。串口数据以ASCII字节形式传输,校验字节的取值范围仅为0x00至0x0f、0x70至0x7f。
已知STX=0x02(文本起始标志)、ETX=0x03(文本结束标志),已明确消息结构:
- 前3字节为设备序列号(整数型)
- 第8字节为数据字符数
- 数据段从第9字节开始,到ETX结束,多数值为浮点型(例如1.5对应十六进制
3fc00000)
我已尝试多种校验算法(CRC-8、各类位运算等),并分别在ASCII和HEX格式下对完整消息或特定部分进行计算,均无法匹配给定的校验值,现寻求该校验字节的解析思路。
通信示例
STX003B80000D000000ETX 0x0D STX003B80010D010028466E000142580000463464003F80000000000000ETX 0x06 STX003B80010D0200183F800000000000004049999AETX 0x0B STX003B80010D03008000000000441600004561000048A5AC604813ADC0462DD00041F266664720BE004720BE00429E0000474732000000000437A0000000000004416000000000000ETX 0x7E STX003B80030D020048469E9E0040DCA15C3F88CA7B649E9C0042700000C1E71C72000000000000000000000000ETX 0x77 STX003B80050D010028466E00054248000040E000003F80000000000000ETX 0x71 STX003B80050D020050BF8000004755D700000000004755D70000000000BF8000003F80000042C800003DE13F213F800000ETX 0x07 STX003B80050D03005840E0000000000000000000003F81C61A41C807C0000000003F133333447D00004180000044AAA00048195D4ETX 0x78 STX003B80050D050070471DD10046ECBC00469EA000474483003F81B22D417000003F8000003F800000000000003F0000003FC28F5C000000000000000447D0000ETX 0x79 STX003B8012110000384BC67B2241800000418800003F814F4041C5A20741118FE800000000ETX 0x04 STX003B8012110000384BC969AC41800000418800003F816AF941C383340BEC4EC00000000ETX 0x79 STX003B8012110000104409800040000000ETX 0x7E STX003B80170E030000ETX 0x09 STX003B800C0003010800000000ETX 0x00 STX003B800D0003010800000000ETX 0x07 STX003B800E0003010800000000ETX 0x06 STX003B800F0003010800000000ETX 0x05 STX003B80040003010800000000ETX 0x77 STX003B80010003010800000000ETX 0x72 STX003B80120E000000ETX 0x0F
内容的提问来源于stack exchange,提问作者Pepe Sanches
相关产品推荐
相关产品推荐

