校验和算法逆向工程

时间:2015-08-07 21:34:50

标签: algorithm memory reverse-engineering checksum eeprom

我一直在分析一些SPI EEPROM内存,并试图找出使用了哪种Checksum算法;

例如,我有数据: 14567D9h和校验和 187h 。假设它是正常的16位校验和,我已经 86h - 没有匹配,但在添加 101h 之后它神奇地变为391h

另一个例子: 8ADh 并检查sum B5h 这个是正常的 - 16位校验和结果与确切的数字: B5h (完美匹配)

我用28个样本检查了它,我能够拦截。对于某些值,我必须将101h添加到校验和中,对于某些值,只需要对它进行求和。

奇偶校验不适合 - 如果你想我可以共享更多数据 - 所有数据都收集在一个excel文件中并进行计算。经过与朋友的头脑风暴几天后,我们还没有想出任何东西:/

也许算法中有一些额外的部分,我还没有找到它? 检查了CRC和吨的其他算法 - 只有16位校验和给出了任何有希望的结果 提前感谢您的帮助!

我的电子表格副本:https://drive.google.com/file/d/0B2FO0-Y1n-ySMUZ2VTVkME9tdm8/view?usp=sharing

1 个答案:

答案 0 :(得分:1)

据我所知,CRC用于帮助识别文件损坏的文件。 CRC的大小是固定的,而文件的大小不是,文件的大小要大得多。

换句话说,CRC不可逆,仅仅因为它是多对一的关系。