我进行了能量监测,并设法进入了饲料。我已对握手数据包进行了排序,但仍在研究如何从HEX解码此数据。

Pac = 81 W
Vac = 236.1 V
总能量= 45.7千瓦时
小时总数= 72小时监视器每隔10秒发送一次的数据包。



在启动之前,我可以看到完全相同的内容,直到,2<ascii>为止,之后它似乎包含了数据。正如我提到的,最后一个数据包转储应该是类似于接收时监视器上的数据的数据。最简单的是小时数,因为这只会每小时更改一次。但是我徒劳的尝试使我一无所获。没有什么比72.

我怀疑数据是模糊的还是加密的。我只是不知道我还能如何尝试解决这个问题,并从这种领域的经验丰富的开发人员那里寻求一些建议。时间,我怀疑要检查的CRC值。所有这些值之间可能还混合有其他值,但是我只对可以在监视器上看到的主要值感兴趣。

#1 楼

您知道每次数据中都会有72个。让我们将其转换为48的十六进制。我们可以在每个数据包中清楚地看到这一点。

前面有3个0字节是可推测的,因为它写为32位int(出于某种原因)。可以看到00 00 01 c9可以将其全部转换为十进制:原来是457,是您要查找的另一个值的十倍。在此值和下一个之间的2个字节00 51 00 00,因此让我们关注0,将其转换为十进制51。您正在寻找的另一个值!

您正在寻找的最后一个值是81,但是在看到总能量后,该值可能首先由236.1缩放,因此让我们以十六进制检查2361,即10。 Lo,请注意这是最后一个数据包:
0939

请记住,一个十六进制数字(0-f)可以包含的最大值是15,将它们中的2个放在一起就可以最多为255。再次将位数加倍,您将达到65535。还需要牢记的是,工程师很便宜,并且当他们只能使用定点数时就不会采用浮点算法。诀窍是找到他们使用的比例因子。