如何实现二进制文件对比

如题。我需要实现一个类似于Hex Comparison这样的工具。Hex的实现不成问题,就是想知道如何实现两个二进制文件的对比?不需要合并只需要对比。 有现成的轮子可以让我直接调用然后得到两个文件的差异吗?

阅读 7.5k
1 个回答

提供几个方法供参考:

  1. 命令行下的diff/cmp命令,可以得出这两个binary是否完全一样:

    diff file1 file2
    cmp -b file1 file2

  2. 命令行下的hexdump,得到hex文本后,再用diff比较两个文件的hex文本:

    hexdump file1.bin > file1.hex
    hexdump file2.bin > file2.hex
    diff file1.hex file2.hex

  3. 计算这两个文件的MD5或SHA1,得到的hash值相同则是同一个文件

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题