比较生成的可执行文件的等效性
我需要比较使用相同编译器/标志编译的2个可执行文件和/或共享对象,并验证它们没有更改。我们在受监管的环境中工作,因此对于测试目的而言,确切地隔离可执行文件的哪些部分已经发生变化非常有用。
由于包含有关文件信息的标头,因此使用MD5Sums / Hashes不起作用。
有没有人知道一个程序或方法来验证2个文件是否在执行上是相同的,即使它们是在不同的时间构建的?
没有找到相关结果
已邀请:
4 个回复
诉嘎归亮
现在你可以在机器1上运行了例如:
在机器2上:
在使用copypasted,SFTP-ed或NSF-ed(您不使用FTP,是吗?)将文件放入同一文件树中,比较文件:
在我的情况下,“.gnu.conflict”,“。geu.liblist”,“。gogot”和“.dynbss”部分存在差异,这可能适用于“预链接”干预,但在代码部分,“。text”,这将是一个坏标志。
播匣扦阔食
羔磺
例如,使用生成的二进制文件来比较它们是否相同,使用
。 在我看来,这足以让您生成相同的可执行文件。
悸翠疮武昏