如何区分两个二进制文件?
我有一个程序的两个版本,版本 1 和版本 2。我在两个版本之间进行了少量更改,但不幸的是没有定期备份,所以虽然我有版本 2 的源代码,我只有版本 1 的二进制文件。我需要找出我在两个版本之间究竟做了什么改变。我尝试创建两个版本的 objdump,然后使用 diff 查找更改,但这不起作用,因为偏移量不同,因此 diff 认为几乎每一行都已更改。
例如,一行可能bgez v0,4074d0<daemonize+0xd4>
在版本 1 和bgez v0,4073d4<daemonize+0xd4>
版本 2 中。这些是直接从转储文件复制的 - 您可以看到这两行执行相同的操作,但 diff 无法区分它们。文件太大,我无法手动检查每一行;如何检测功能更改,同时忽略偏移量的差异?