使用Delphi 6编译两次并在二进制文件上获得相同的校验和
发布时间:2020-12-15 09:46:38 所属栏目:大数据 来源:网络整理
导读:出于二进制/源代码验证的目的,我希望能够在相同的计算机上相隔两周进行两次编译并使二进制文件相同,从而通过一些校验和测试. 到目前为止,我发现很可能时间戳将由编译器写入二进制文件.我可以通过对每个msdn文章的dumpbin / rawdata结果进行比较来解决这个问
出于二进制/源代码验证的目的,我希望能够在相同的计算机上相隔两周进行两次编译并使二进制文件相同,从而通过一些校验和测试.
到目前为止,我发现很可能时间戳将由编译器写入二进制文件.我可以通过对每个msdn文章的dumpbin / rawdata结果进行比较来解决这个问题. http://support.microsoft.com/kb/164151 然而,垃圾箱结果在十几个地方仍然不同,差异似乎仍然是某种时间戳(例如从A1 73变为C4 76). 我假设这是delphi编译器放入代码/数据部分的时间戳,但我无法找到这种情况发生的位置或如何将其关闭.摆弄各种编译器/链接器选项并没有改变这种行为. 任何帮助将不胜感激. 解决方法
几年前我们研究过这个问题,我记得答案很简单,就是Borland / Codegear / Embarcadero的人不赞同编译器应该在给出完全相同的输入的情况下产生完全相同的输出的概念(假设当前日期时间不被视为输入).
这是令人失望的,但考虑到德尔福是旧版本的主要版本,它可能不会改变. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |