我有一些十六进制数据,我现在知道了它的含义(就像时间、位置、ecc…(:
01 64 00 00
01 01 01 2E
84 88 BE 00
00 AE 11 06
F8 03 C3 89
然后是校验和/密码:
56 3B 87 9B
还有另一个简单的例子(只是最后一位在改变(:
01 64 00 00
01 01 01 2E
84 88 BE 00
00 AE 11 06
F8 03 C3 88
使用以下校验和/密码:
DF 82 05 B3
我还有更多这样的例子。
有没有办法弄清楚(逆向工程(使用了哪个校验和或密码?我有理由相信,这可能只是一个简单的校验和或一个简单密码,没有什么太花哨的。
非常感谢
我发现了一些东西,也许。。。
我认为散列是使用一些crc方法完成的,并且通过使用这个非常有用的工具:
https://reveng.sourceforge.io/readme.htm
我发现了以下结果:
width=32 poly=0x2882b989 init=0xc6ea9616 refin=false refout=false xorout=0x00000000 check=0x6d514c85 residue=0x000000000 name=(none)
因为这不是一个标准的CRC,我不知道如何检查这个多项式是否有效(我不想自己实现CRC哈希生成器(。。。
有没有任何工具可以在给定数据输入和多项式特征(如poly、init(的情况下创建CRC哈希?
我发现:
https://github.com/madler/crcany
但我不知道如何让它发挥作用(我没有找到任何例子(。
感谢
否。
大多数校验和算法,甚至是旧算法,都是为了防止这种情况发生而设计的。更改输入上的任何一位,得到一个看起来完全随机的校验和,它看起来与其他所有可能的校验和完全无关。
当然,您可以通过您所知道的所有算法运行您所拥有的不同示例输入,并查看输出是否包含任何示例输出(它可能在开始或结束,也可能在中间的某个位置(。
如果它更复杂的话,它可能会使用";盐";。在通过算法运行数据之前,将一个秘密短语("salt"(添加到数据中。你可以用蛮力开始猜测,但我希望你能很快看到这变得非常不现实。