更改二进制文件的校验和

时间:2010-04-30 11:39:56

标签: windows binary checksum

如何修改二进制文件的校验和?
具体来说,我想在dll / exe中编辑嵌入式校验和 有没有可用的工具?

3 个答案:

答案 0 :(得分:1)

对于内核模块,Windows仅要求校验和为!= 0,您不需要为usermode模块设置它。如果您确实要设置校验和,请运行EDITBIN / RELEASE yourapp.exe,或致电CheckSumMappedFile()。有关校验和算法的分析,请参阅this article

答案 1 :(得分:0)

您可以使用“十六进制编辑器”来修改dll / exe,但除非您知道如何反向计算校验和,否则它不会有太多帮助。

答案 2 :(得分:0)

好的,此链接为您提供Windows DLL /可执行文件的文件格式: http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf

您可以看到标题中有几个可能的位置,可以存储校验和,其中一些是可选的,因此您需要解析图像以找出其中的内容。有一些工具,如Python PE解析器(google for options)可以帮助解决这个问题。

一旦知道要更改哪些字节,请选择十六进制编辑器并执行此操作。您甚至可以在Visual Studio中编辑二进制文件。

[编辑:但是,正如我上面评论的那样,如果它与预期值不匹配,我认为Windows可能会对它进行调整]