逐字节比较两个文件

文本对比工具到处都是;能在浏览器里用的二进制对比工具却很少见。两份固件镜像、两次导出结果、两个“应该一样”的二进制文件 —— 这张图能让你一眼看出它们哪里不一样。

正在加载工具……

工作原理

  1. 拖入文件 A 和文件 B。
  2. 看热力图:绿色的部分匹配,红色的部分不一样。
  3. 点击某一块区域,并排查看具体的字节内容。

为什么什么都不用上传

这个页面上的每一步操作,都由运行在你浏览器标签页里的代码完成,用的就是渲染网页的那套引擎。文件从磁盘读进标签页的内存,在那里被处理,再作为下载写回去。它不会被送到任何地方 —— 不会送给我们,也不会送给第三方。

自己动手验证

  1. 打开浏览器的开发者工具(F12),选择“网络”(Network)面板。
  2. 载入你的文件,运行这个工具。
  3. 你能看到的请求只有这些:工具自己的代码 —— 少数几个重型工具还会从公共 CDN 取它们的开源引擎 —— 外加一条发往 loreatec.jp 的小小访问记录(页面地址和标题,仅此而已)。没有一条带着你的文件。

文件不外传的证明 →

常见问题

颜色代表什么?

每个格子概括的是文件的一段:全绿表示完全一致,越偏红表示这一段里不一样的字节比例越高。绿色的海洋里一条细细的红线,通常是被打了补丁的文件头;从某一点开始整片都是红色,通常说明插入了内容,把后面的部分都往后挪了。

为什么有 50 MB 的限制?

逐字节比较需要把两个文件都放进内存。超过大约 50 MB,标签页就开始有崩溃的风险,这个网站更愿意直接拒绝处理,而不是让页面卡死。

能像文本对比工具那样识别出插入内容吗?

不能 —— 它比较的是位置,不是序列。哪怕只是挪动了位置,插入点之后的所有内容都会被判定为“不一样”。这是按位置比较的固有局限,不过热力图的图案通常能让这种位移一眼就能看出来。