CRC RevEng失效后,16位校验和逆向分析的可行策略探讨
当CRC RevEng工具尝试多种配置仍无法识别16位校验和算法时的后续分析思路
本文旨在学习自主分析思路,而非提供单次问题的解决方案。
假设条件
- 可完全控制白盒算法,生成任意数量带有效16位(2字节)校验和的选定样本消息;
- 可验证任意消息是否有效;
- 禁止对黑盒代码进行静态或动态分析(如MCU光刻级别需电子显微镜分析的场景,本次暂不考虑)。
待验证的分析思路
以下几种思路是否具备可行性:
- 分析校验和碰撞(即不同消息对应相同校验和),将消息异或后挖掘线索;
- 利用校验和的强偏向性特征;
- 利用校验和密钥空间的“滚动”特性,观察每65535条递增消息是否存在序列规律;
- 借助AI技术辅助分析;
问题
是否存在其他遗漏的分析策略?
示例消息
- Sample 1:
FFFFFFFFFFFF/0100100A00000000000000000000FFFFFFFFFF72BE - Sample 2:
000000000000/0100100A00000000000000000000FFFFFFFFFF2A3D - Sample 3:
000000000001/0100100A00000000000000000000FFFFFFFFFF89F7 - Sample 4:
000000000002/0100100A00000000000000000000FFFFFFFFFF0864 - Sample 5:
000000000003/0100100A00000000000000000000FFFFFFFFFFABAE - Sample 6:
000000000004/0100100A00000000000000000000FFFFFFFFFF9396 - Sample 7:
000000000005/0100100A00000000000000000000FFFFFFFFFF305C - Sample 8:
000000000006/0100100A00000000000000000000FFFFFFFFFFB1CF
内容的提问来源于stack exchange,提问作者JOULTICOA
相关产品推荐
相关产品推荐

