hi guys recently im working on reverse engineering a device but now after several weeks hard working i got into checksum calculating problem ! the data is 8 of 16 bit data, the last one is 16bit checksum. here is example of data :
0x0400 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x4000
0x0301 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x8100
0x0302 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x8203
0x0303 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x4303
0x0304 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x8405
0x0305 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x4505
0x0306 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x4606
0x0307 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x8706
0x0308 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x8809
0x0309 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x4909
0x030A 0x0000 0x0000 0x0001 0x0200 0x0000 0x0000 0x4A0A
i hope you can help to detect the checksum algorithem
CodePudding user response:
Looks like CRC-16/MODBUS, at least the first three match:
- https://crccalc.com/?crc=000d000000000100000200000000&method=CRC-16/MODBUS&datatype=hex&outtype=0
- https://crccalc.com/?crc=010d000000000100000200000000&method=CRC-16/MODBUS&datatype=hex&outtype=0
- https://crccalc.com/?crc=020d000000000100000200000000&method=CRC-16/MODBUS&datatype=hex&outtype=0
I didn't check others, but I assume they will too.