在给定目标crc的情况下求解数据
crcsolver的Python项目详细描述
示例
提供已知数据、未知位、目标校验和和和crc函数:
>>> crcsolver.solve(b'MONK__', range(32,48), 0x401a68b6, binascii.crc32)
b'MONKEY'
示例
^{pr2}$示例
您可以提供任意CRC函数或CRC算法的name:
>>> crcsolver.solve(b'__NKEY', range(16), 0x401a68b6, 'CRC-32/ISO-HDLC')
b'MONKEY'
可在crc_catalog.py
中找到可用的名为CRC的完整列表。在
示例
此软件包还可以计算校验和:
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-3/GSM'))
'0x5'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-32/ISO-HDLC'))
'0x401a68b6'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-32/MPEG-2'))
'0xe643d817'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-64/ECMA-182'))
'0x2cf08634f65960ae'
>>> hex(crcsolver.compute(b'MONKEY', 'CRC-82/DARC'))
'0x240a7856c67f10a2c0f7f'
可在crc_catalog.py
中找到可用的名为CRC的完整列表。在
示例
您可以提供通用CRC参数字典来计算CRC:
>>> hex(crcsolver.compute(b'MONKEY', {'width':32, 'poly':0x04c11db7, 'init':0xffffffff, 'refin':True, 'refout':True, 'xorout':0xffffffff}))
'0x401a68b6'
现有技术
- http://reveng.sourceforge.netCRC-RevEng:任意精度CRC计算器和算法查找器
- https://github.com/resilar/crchack反转CRC以获得乐趣和利润
- 项目
标签: