Skip to main content
Tweeted twitter.com/StackReverseEng/status/1007914857956593664
Better usage of the wiki syntax
Source Link
perror
  • 19.2k
  • 29
  • 87
  • 150

I am trying to create a communication interface using C Language to an Air conditioning system, after analyzing the data packets I have identified that the data packet is consist of an 8 bit CRC (I am pretty sure the CRC is the last byte because the rest of the data only changes when I change something in the settings).

So what I need to do now is to be able to reverse engineer the process on how to come up with this CRC

A802000000001F5D0000000073

A802000000001E5D0000000070

A802000000001D5D0000000071

A802000000001F5D0000000073
A802000000001E5D0000000070
A802000000001D5D0000000071

In the data above I purposely changed 1F 1F -> 1E1E -> 1D1D and as you can see the value of last byte changed from 7373 -> 7070 -> 7171.

I tried different onlineon-line CRC calculators but still had no luck.

I managed to capture more data samples:

A80300000004045D0000000045

A80300000004055D0000000044

A803000000040F61000000004A

A802000000040F61000000004B

A81200004004169A00000000FB

A81200004004159A00000000F8

A81200004004149A00000000E5

A81200084000149C00000000E7

A83200084000149C0000000087

A85200084000149C00000000A7

A80300000004045D0000000045
A80300000004055D0000000044
A803000000040F61000000004A
A802000000040F61000000004B
A81200004004169A00000000FB
A81200004004159A00000000F8
A81200004004149A00000000E5
A81200084000149C00000000E7
A83200084000149C0000000087
A85200084000149C00000000A7

Any help would be greatly appreciated.

Thank you

I am trying to create a communication interface using C Language to an Air conditioning system, after analyzing the data packets I have identified that the data packet is consist of an 8 bit CRC (I am pretty sure the CRC is the last byte because the rest of the data only changes when I change something in the settings).

So what I need to do now is to be able to reverse engineer the process on how to come up with this CRC

A802000000001F5D0000000073

A802000000001E5D0000000070

A802000000001D5D0000000071

In the data above I purposely changed 1F -> 1E -> 1D and as you can see the value of last byte changed from 73 -> 70 -> 71.

I tried different online CRC calculators but still had no luck.

I managed to capture more data samples:

A80300000004045D0000000045

A80300000004055D0000000044

A803000000040F61000000004A

A802000000040F61000000004B

A81200004004169A00000000FB

A81200004004159A00000000F8

A81200004004149A00000000E5

A81200084000149C00000000E7

A83200084000149C0000000087

A85200084000149C00000000A7

Any help would be greatly appreciated.

Thank you

I am trying to create a communication interface using C Language to an Air conditioning system, after analyzing the data packets I have identified that the data packet is consist of an 8 bit CRC (I am pretty sure the CRC is the last byte because the rest of the data only changes when I change something in the settings).

So what I need to do now is to be able to reverse engineer the process on how to come up with this CRC

A802000000001F5D0000000073
A802000000001E5D0000000070
A802000000001D5D0000000071

In the data above I purposely changed 1F -> 1E -> 1D and as you can see the value of last byte changed from 73 -> 70 -> 71.

I tried different on-line CRC calculators but still had no luck.

I managed to capture more data samples:

A80300000004045D0000000045
A80300000004055D0000000044
A803000000040F61000000004A
A802000000040F61000000004B
A81200004004169A00000000FB
A81200004004159A00000000F8
A81200004004149A00000000E5
A81200084000149C00000000E7
A83200084000149C0000000087
A85200084000149C00000000A7

Any help would be greatly appreciated.

Source Link
Nick
  • 41
  • 3

Reverse Engineering a 8 bit CRC checksum

I am trying to create a communication interface using C Language to an Air conditioning system, after analyzing the data packets I have identified that the data packet is consist of an 8 bit CRC (I am pretty sure the CRC is the last byte because the rest of the data only changes when I change something in the settings).

So what I need to do now is to be able to reverse engineer the process on how to come up with this CRC

A802000000001F5D0000000073

A802000000001E5D0000000070

A802000000001D5D0000000071

In the data above I purposely changed 1F -> 1E -> 1D and as you can see the value of last byte changed from 73 -> 70 -> 71.

I tried different online CRC calculators but still had no luck.

I managed to capture more data samples:

A80300000004045D0000000045

A80300000004055D0000000044

A803000000040F61000000004A

A802000000040F61000000004B

A81200004004169A00000000FB

A81200004004159A00000000F8

A81200004004149A00000000E5

A81200084000149C00000000E7

A83200084000149C0000000087

A85200084000149C00000000A7

Any help would be greatly appreciated.

Thank you