在Windows中比较两个二进制文件的工具

202

我需要一个比较两个二进制文件的工具。这些文件相当大。我在互联网上找到的一些免费软件或试用工具不方便用于大文件。你能推荐一些工具吗?

6个回答

249

如果您只想找出文件是否完全相同,可以使用Windows的fc命令以二进制模式:

fc.exe /b file1 file2

详细信息请参阅fc的参考资料


2
为了相同的目的 - 只是判断文件是否相同 - 一个便携式应用程序“重复文件查找器”已经足够好了。特别是对于像.iso文件这样的大文件。 - RuntimeException
14
这应该是被接受的答案,因为这是 Windows 原生功能,而不是第三方应用程序的附加功能。 - LilaQ
2
这只是显示字节码列表的工具 - 还有一个命令行中的“comp”工具,但似乎需要文件大小相同。 - George Birbilis

135

4
在vBinDiff的说明中,我读到“与diff不同,它可以很好地处理大文件(高达4 GB)。”因此,它适用于处理大文件取决于你对“大文件”的定义。此外,我发现它在Windows 7 x64下神秘地无法启动。 - intuited
35
请注意,VBinDiff是一个命令行程序,如果你只是尝试在Windows上运行它,它要么看起来没有启动,要么会非常短暂地显示一个命令提示窗口,然后很快就消失了。请打开命令提示符并从那里运行程序,以查看它接受哪些参数,然后相应地在命令提示符中使用它。 - nonoitall
2
vBinDiff在我的Windows 7 x64上运行良好。 - plasticinsect
4
vBinDiff似乎完全不处理插入的字节,所以它并没有比HxD好多少,除了用红色显示所有更改之外。 - endolith
1
VBinDiff允许您冻结两个滚动区域中的一个,当您通过逐字节滚动另一个来再次同步它们时,它会以白色显示相同部分并以红色显示差异。因此,它更像是一种手动工具,但具有视觉辅助功能。 - George Birbilis
显示剩余4条评论

25

Total Commander还具有二进制比较选项:前往:文件\\根据内容比较

注:我猜有些人可能已经在使用此工具,但不知道内置功能。


1
这个工具并不像文本差异工具那样理解插入的内容,只能检测字节的变化。 - endolith
3
@endolith 还有一件需要提到的事情是,“Total Commander”的价格为42美元。 - c00000fd

19

3
Beyond Compare无法处理超过500MB大小的二进制文件... - Pacerier
1
试试这个 https://github.com/Shelwien/cmp/ - Boris Ivanov
1
@BorisIvanov:可能需要提一下,Beyond Compare是一款付费软件,只能使用30天。之后您将需要购买价值60美元的许可证。 - c00000fd
奇怪的是,我从官方网站下载的版本即使在试用期过后仍然可以正常使用,而且没有任何黑客行为。 - Boris Ivanov
Beyond Compare似乎没有二进制差异比对功能,这正是该问题的关注点。 - Andrew Arnott
检查Shelwien工具 - Boris Ivanov

15

我更喜欢使用objcopy将文件转换为十六进制,然后再使用diff命令进行比较。


4
有用的回答。输出文件大小大约是输入文件大小的3倍。这个命令将把一个二进制文件转换成十六进制形式。objcopy -I binary -O ihex <in_file> <out_file> - evpo

12
在Cygwin中: < p > $cmp -bl <file1> <file2>

二进制偏移和值的差异分别以十进制和八进制表示。Vladi.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接