diff 不同大小的二进制文件?

diff 不同大小的二进制文件?

有没有一种巧妙的方法来查看两个二进制文件之间的差异?它们大部分是相同的,但一些字节发生了变化,并且其中一个文件在某些​​位置插入了序列。

xxd如果仅更改字节而不插入字节,则比较 的输出将起作用。

答案1

有一些二进制编辑器可以显示文件之间的差异,但我尝试过的(dhexvbindiff)似乎无法检测和显示插入或删除。

有许多二进制 diff 实用程序,例如rdiffxdeltabsdiff,可以计算两个文件之间的差异。但目的是生成patch稍后应用于原始文件的文件。你无法阅读这些内容补丁文件有什么区别。

为了直观地看到差异,您可以做的一件事是对文件进行十六进制转储,每行一个字节和diff结果。行号将告诉您文件中的偏移量(但要注意它从 1 开始,而不是 0):

diff -u <(od -w1 -vAn -tx1 file1) <(od -w1 -vAn -tx1 file2)

(假设您od支持非标准-w选项)。

答案2

尝试使用地塞克斯或者 乔乔迪夫。您也可以使用bsdiff.

相关内容