如何修改二进制文件的校验和?
具体来说,我想在dll / exe中编辑嵌入式校验和
有没有可用的工具?
答案 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可能会对它进行调整]