配置文件校验和猜测(CRC)
Config File Checksum guessing (CRC)
我目前是 "hacking" 一台旧的 3d 打印机,建于 1996 年。在一台旧的 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
我认为计算时未考虑校验和本身或整行 "checksum 0x4f20",因为那是不可能的 (?)
感谢任何帮助。
编辑:当然,我还有一些带有校验和的文件,但这些文件比这个文件长很多。需要的话我也可以提供..
RevEng就是为此而写的。给定输入和相关 CRC 的几个示例,RevEng 将导出 CRC 参数。如果是CRC.
我目前是 "hacking" 一台旧的 3d 打印机,建于 1996 年。在一台旧的 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
我认为计算时未考虑校验和本身或整行 "checksum 0x4f20",因为那是不可能的 (?)
感谢任何帮助。
编辑:当然,我还有一些带有校验和的文件,但这些文件比这个文件长很多。需要的话我也可以提供..
RevEng就是为此而写的。给定输入和相关 CRC 的几个示例,RevEng 将导出 CRC 参数。如果是CRC.