二进制 diff 工具,其工作方式与 diff(1) 工具相同

二进制 diff 工具,其工作方式与 diff(1) 工具相同

您知道 Unix/Linux diff(1) 工具的工作原理吗?它显示两个文本文件之间添加和删除了哪些行,并以人类可读的形式显示。我需要相同类型的二进制文件工具 - 除了处理字节序列而不是文本行。它仍然必须产生人类可读的输出(因此以十六进制表示)。

请注意,我不需要cmp -l逐字节比较二进制文件,也无法检测插入和删除。请注意,我不需要xdeltabsdiff产生非人类可读的输出。实际上,我有点惊讶,它们都没有xdeltabsdiff它们生成的补丁提供某种人类可读的表示。恕我直言,这样的选项应该首先存在,然后才是生成高效二进制补丁的选项。毕竟,这些工具的作者如何验证它们是否正常工作?难道他们不认为用户也想验证它们,以确保它们确实生成了合理且最小的补丁吗?

答案1

我已经发现差分. 可能,这个工具就是你正在寻找的。

JDIFF 是一个输出两个二进制文件之间的差异的程序,可以以二进制格式或人类可读的格式(详细或摘要)输出。然后,JPATCH 允许从第一个文件重建第二个文件。

更新

看起来 jdiff 没有以人类可读的格式保存补丁。它仅以人类可读的格式显示摘要 :(

我研究了很多工具,发现只有破解工具才能达到这个目的:所以人类可读的格式是.XCK.CRK文件扩展名。这些扩展名的工具:

使用补丁:

  1. Corner Crackers 的 Cracker.Exe
  2. 补丁-xck.rb

创建补丁:

  1. c2c(与破解相比)例如:Nimnull 的 C2C、SkullC0DEr 的 C2C/2、MaD k0DeR 的 MC2C。
  2. 足球俱乐部

相关内容