【问题标题】:Calculating CRC / Checksum of hex stream (sniffed)计算十六进制流的 CRC / 校验和(嗅探)
【发布时间】:2016-12-05 08:07:20
【问题描述】:

我正在尝试使用以下十六进制流(用wireshark嗅探)获取CRC的类型:

我嗅探到的十六进制数据: 0000001ec001075465737431323308557365726e616d650850617373776f7264d224

这应该是十六进制的数据: 0000001ec001075465737431323308557365726e616d650850617373776f7264

所以最后 4 位是校验和,在本例中为 d224

我使用了很多代码 sn-ps (PHP, java),以及一些在线校验和计算网站: 例如。: http://www.scadacore.com/field-applications/programming-calculators/online-checksum-calculator/

但我没有得到正确的 CRC 值。

谢谢!

更新 1
以下是更多包含 CRC 的十六进制流(最后 4 位):

  • 0000001dc001045465737409557365726e616d65310950617373776f726431cc96
  • 0000001dc001045465737409557365726e616d65320950617373776f72643289d9
  • 0000001dc001045465737409557365726e616d65330950617373776f726433b51c
  • 0000001dc001045465737409557365726e616d65340950617373776f7264340347
  • 0000001dc001045465737409557365726e616d65350950617373776f7264353f82

【问题讨论】:

  • 您需要更多示例才能对 CRC 进行逆向工程。
  • @MarkAdler 我添加了更多包含 crc 的十六进制流。

标签: hex checksum crc


【解决方案1】:

它似乎是ARC CRC,多项式0x8005,如果我丢弃每条消息上的初始0000001d,并在最后放入CRC小端顺序的流。

【讨论】:

  • 如果我把我的十六进制流像最后一个 "0000001dc001045465737409557365726e616d65350950617373776f726435" 在这个站点上:sunshine2k.de/coding/javascript/crc/crc_js.html 并选择 CRC 宽度 CRC-16,预定义:CRC16_ARC I got as我是不是搞错了? - 谢了!
  • 是的,你没有像我说的那样删除最初的0000001d
  • 你,你就是英雄!非常感谢!
猜你喜欢
  • 2017-08-24
  • 1970-01-01
  • 2019-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-11
  • 2020-01-23
  • 2015-11-01
  • 2017-12-08
相关资源
最近更新 更多