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

Ann*_*nna 6 diff binary

有没有一种巧妙的方法来查看两个二进制文件之间的区别?它们大多相同,但更改了一些字节,并且其中一个文件在某些​​地方插入了序列。

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

Sté*_*las 7

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

有许多二进制差异实用程序,例如rdiffxdelta或者bsdiff计算两个文件之间的差异。但目的是生成patch稍后应用于原始文件的文件。您无法读取这些补丁文件看到的差别是什么。

为了直观地看到差异,您可以做的事情是使用每行一个字节的 hexdump 文件和diff结果。行号会告诉你文件中的偏移量(但要注意它从 1 开始,而不是 0):

diff -u <(od -w1 -vAn -tx1 file1) <(od -w1 -vAn -tx1 file2)
Run Code Online (Sandbox Code Playgroud)

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


har*_*kat 1

尝试使用dhexjojodiff。您也可以使用bsdiff.