配置文件校验和猜测(CRC)

时间:2017-12-05 10:44:54

标签: reverse-engineering checksum crc16

我目前正在“黑客攻击”一台建于1996年的旧3D打印机。旧的Windows PC上运行有软件。我需要修改一些无法从前端访问的参数,所以我想修改配置文件。但是,如果我修改某些内容,则无法再阅读。我注意到,文件末尾有一个校验和,我不是真正的校验和专家。我假设,在加载文件时,会再次计算此校验和,并与最后的校验和进行比较。 我无法找到使用哪种校验和算法。

我已经发现:我认为这不仅仅是文件中的位添加。当我切换两个字符时,通过添加生成的校验和不会改变。但该软件不会接受该文件。

我猜它是某种CRC16,因为校验和看起来像这样:

0x4f20

由于我用几个常用的CRC16参数计算了这个数字并且找不到与“4f20”的匹配,我认为它必须是自定义的CRC16 ..

这是一个完整的示例文件:

PACKET noname
  style 502
  last_modified 1511855084 # Tue Nov 28 08:44:44 2017

  STRUCTURE MACHINE_OVRL
    PARAM distance_units
      Value = "millimeters"
    ENDPARAM
    PARAM language
      Value = "English"
    ENDPARAM
  ENDSTRUCTURE
ENDPACKET
checksum 0x4f20

我认为在计算时没有考虑校验和本身或完整的行“校验和0x4f20”,因为那是不可能的(?)

感谢任何帮助。

编辑:我当然得到了一些带校验和的文件,但这些文件比这个文件要长很多。如果需要,我也可以提供它们。

1 个答案:

答案 0 :(得分:0)

RevEng就是为此而写的。给定输入和相关CRC的若干示例,RevEng将导出CRC参数。如果是CRC。