如何修改二进制文件的校验和?
具体地说,我想编辑dll/exe中嵌入的校验和。
有没有可用的工具?
发布于 2010-04-30 23:33:47
Windows只要求内核模块的校验和为!= 0,用户模式模块不需要设置校验和。如果您确实想设置校验和,请运行EDITBIN /RELEASE yourapp.exe,或调用CheckSumMappedFile()。有关校验和算法的分析,请参阅this article。
发布于 2010-04-30 20:01:15
你可以使用“十六进制编辑器”来修改dll/exe,但是除非你知道如何反向计算你的校验和,否则它不会有太大的帮助。
发布于 2010-04-30 20:28:18
好的,这个链接给出了Windows DLL/可执行文件的文件格式:http://www.openrce.org/reference_library/files/reference/PE%20Format.pdf
您可以看到可以存储校验和的头部中有几个可能的部分,其中一些是可选的,因此您需要解析图像以找出其中的内容。有像Python PE解析器(google选项)这样的工具可以帮助你做到这一点。
一旦你知道了你想要修改的字节,选择一个十六进制编辑器并执行它。您甚至可以在Visual Studio中编辑二进制文件。
编辑:但是,正如我上面评论的那样,如果它与预期值不匹配,我认为Windows可能会在它上面吐出
https://stackoverflow.com/questions/2744199
复制相似问题