难以逆向工程CRC 16

时间:2016-05-23 12:26:00

标签: reverse-engineering crc16

我已经捕获了3个数据包,我认为它们都使用相同的16位CRC,但我无法找到共同匹配。他们是: 1. DB97BD7F85C7 2. DCC45CDFBF47 3. DB5BF51FA66F

在所有3上运行reveng不会产生匹配。但我得到的比赛只有1和2,1和3,以及2和3.我也有下面的SRP16比赛,结果相似。我假设来自SRP16的众多部分匹配就是一个很好的例子,说明为什么Ross Williams和其他人说从不构成你自己的poly,除非你知道你在做什么。如果我取得任何进展,我会发布更多信息。

我错过了什么?

以下是我的尝试:

1,2和3

>reveng -w 16 -s DB97BD7F85C7 DCC45CDFBF47 DB5BF51FA66F
reveng: no models found

1和2

>reveng -w 16 -s DB97BD7F85C7 DCC45CDFBF47
width=16  poly=0x1c4d  init=0x0820  refin=false  refout=false xorout=0x0000  check=0xe5a3  name=(none)
width=16  poly=0x5313  init=0x0541  refin=false  refout=false  xorout=0x0000  check=0x16ee  name=(none)

width = 16 poly = 0xd84d init = 0xcbb0 refin = false refout = false xorout = 0x0000 check = 0xd81f name =(none)

1和3

>reveng -w 16 -s DB97BD7F85C7 DB5BF51FA66F
width=16  poly=0xcfdb  init=0x2152  refin=false  refout=false  xorout=0x0000  check=0x7c5f  name=(none)

2和3

>reveng -w 16 -s DCC45CDFBF47 DB5BF51FA66F
width=16  poly=0x6319  init=0xce07  refin=false  refout=false  xorout=0x0000  check=0x358f  name=(none)

为了它的价值,我还用SRP16进行了详尽的搜索。如您所见,SRP16发现了1和3,以及2和3的几个匹配(它只搜索数据1,然后检查另外2个)。结果如下:

===== Result parameter sets =====
CRC=$c791  Poly=$0a1f  init=$51a7  xorout=$ffff  refin=false  refout=true 
 *** Third  data set verified
CRC=$c791  Poly=$0a1f  init=$560a  xorout=$0000  refin=false  refout=true 
 *** Third  data set verified
CRC=$91c7  Poly=$24ab  init=$4b77  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$24ab  init=$f978  xorout=$0000  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$32c1  init=$58d2  xorout=$0000  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$32c1  init=$e604  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4078  init=$19b0  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$31bf  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$49ae  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$61a1  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$9183  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$b98c  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$c19d  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4078  init=$e992  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$45cf  init=$12de  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$45cf  init=$78e7  xorout=$0000  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$4928  init=$0e97  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$27b2  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$5cdd  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$75f8  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$8326  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$aa03  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$d16c  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$4928  init=$f849  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5b2b  init=$d6b6  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5b2b  init=$fa7d  xorout=$0000  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$0056  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$2ba9  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$57a8  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$7c57  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$8455  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$afaa  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$d3ab  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$5ff8  init=$f854  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$c791  Poly=$701f  init=$c9e9  xorout=$0000  refin=false  refout=true 
 *** Second data set verified
CRC=$c791  Poly=$701f  init=$fa7c  xorout=$ffff  refin=false  refout=true 
 *** Second data set verified
CRC=$c791  Poly=$723b  init=$4239  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$c791  Poly=$723b  init=$da97  xorout=$0000  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7296  init=$6f03  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7296  init=$d648  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$1faf  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$311c  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$42c9  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$6c7a  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$8bd0  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$a563  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$d6b6  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$7598  init=$f805  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$868a  init=$12de  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$868a  init=$d19b  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$9232  init=$1faf  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$9232  init=$d6b6  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$a4df  init=$0bee  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$a4df  init=$1a23  xorout=$0000  refin=true   refout=false
 *** Third  data set verified
CRC=$c791  Poly=$aa75  init=$16df  xorout=$ffff  refin=true   refout=true 
 *** Second data set verified
CRC=$c791  Poly=$aa75  init=$c58b  xorout=$0000  refin=true   refout=true 
 *** Second data set verified
CRC=$91c7  Poly=$c732  init=$4b77  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$c732  init=$a8ee  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$cbdd  init=$6f03  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$cbdd  init=$8ec3  xorout=$0000  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$cf54  init=$311c  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$cf54  init=$42c9  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$cf54  init=$a563  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$cf54  init=$d6b6  xorout=$ffff  refin=false  refout=false
 *** Third  data set verified
CRC=$c791  Poly=$d143  init=$2b44  xorout=$ffff  refin=true   refout=true 
 *** Second data set verified
CRC=$c791  Poly=$d143  init=$754a  xorout=$0000  refin=true   refout=true 
 *** Second data set verified
CRC=$91c7  Poly=$e044  init=$19b0  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$e044  init=$61a1  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$e044  init=$9183  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$e044  init=$e992  xorout=$ffff  refin=false  refout=false
 *** Second data set verified
CRC=$91c7  Poly=$ea2e  init=$1ec6  xorout=$ffff  refin=false  refout=true 
 *** Second data set verified
CRC=$91c7  Poly=$ea2e  init=$ebd1  xorout=$ffff  refin=false  refout=true 
 *** Second data set verified
CRC=$91c7  Poly=$edbc  init=$27b2  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$edbc  init=$5cdd  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$edbc  init=$aa03  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
CRC=$91c7  Poly=$edbc  init=$d16c  xorout=$ffff  refin=true   refout=false
 *** Third  data set verified
===== done =====

0 个答案:

没有答案
相关问题