Verify

不信任任何网站,只信哈希

安装包会经过网盘、下载站、别人的手机、公司的代理服务器。这一路上每一环都可能被替换,但文件内容只要动了,SHA256 就一定会变。三步、三条命令,五分钟内就能确认手上的包和官方那个是同一个文件。

三步校验 三平台命令 适合:从非官方渠道拿到包的人

为什么这件事值得花五分钟

Kazumi 是开源软件,谁都可以编译打包再发布。这既是它的优点,也是它最容易被利用的地方:一个改过的安装包里加上推广插件、改掉连接地址、塞一个「更新器」,从界面上几乎看不出来。

常见的三种情况:

  • 网盘转发。包是从官方下载的,但中间转存时被替换。这类最多,也最难自己发现。
  • 下载站二次打包。页面上写着「高速下载」,给的是自带安装器的封装包。
  • 同名诱导弹。文件名一模一样,内容是另一份编译产物,来源不明。

哈希校验解决的是最后一道:你手上的文件,和它声称的那个文件,是不是同一串字节。它不能证明软件本身没问题,但能证明它没在中途被人换过。

三步,从粗到细

1
看来源域名

官方发布只有 GitHub Releases 一处,加上 AUR(Arch 用户仓库)这条发行版渠道。域名对不上,后面两步就不必做了——直接换个地方下。

2
比文件大小

同一个版本、同一个平台,安装包的字节数应该是固定的。差几 MB 就要警惕——多出来的部分通常就是被塞进去的东西。注意区分 MB 与 MiB,Windows 资源管理器显示的是 MiB。

3
算 SHA256 并对一下

前面的都对,理论上就没问题了。要彻底确认,就自己算一遍哈希,和基准值逐字符对比。任何一个字符不同,就不是同一个文件。

三个平台,各一条命令

下面假设你下载的是 Windows 版,文件名带着当前版本号。文件名按你实际下载的那个改,不要照抄版本号。

Windows:命令提示符(CMD)
certutil -hashfile Kazumi_windows_2.4.2.msix SHA256
Windows:PowerShell(输出更好读)
Get-FileHash .\Kazumi_windows_2.4.2.msix -Algorithm SHA256 | Format-List
macOS
shasum -a 256 ~/Downloads/Kazumi_macos_2.4.2.dmg
Linux
sha256sum Kazumi_linux_2.4.2_amd64.deb

四条命令的输出都是一个 64 位十六进制字符串。大小写不敏感,a 和 A 算同一个值;但空格、换行、多一个字符都不行。macOS 的 shasum 输出是两个空格加文件名,前面那段才是哈希。

文件名里有空格或中文路径要给路径加引号,例如 certutil -hashfile "D:\我的下载\Kazumi windows.msix" SHA256。不加班引号时 CMD 会把空格后的部分当成另一个参数,报「找不到文件」。

基准值从哪儿来

这是整个流程里最容易做错的一步,说清楚三件事:

  1. 最可靠的做法是自己造基准。从 GitHub Releases 下一次同一个文件(哪怕慢),在本地算一遍哈希,这就是基准。以后从任何渠道拿到的包,跟它比。
  2. 不要在第三方网站上查哈希。「在线哈希查询」这类站点给出的值来源不明,等于把判断权交给另一个陌生人。
  3. Release 页面若附了校验值文件,优先用它。项目的构建流程不同,有的会附带一份校验清单,有的不附。没附不等于有问题,用第 1 条的办法自己造。
哈希对上了,也不代表「内容合法」校验只能证明文件没被换过。软件本身是工具,内容来自你导入的规则指向的第三方站点,那部分与安装包无关。别把校验通过理解成「可以放心看任何东西」。

对不上,三种可能

哈希不一致时别急着下「被投毒」的结论,先按这个顺序排除:

下错平台或架构了

Windows 有 MSIX 和便携版两种,Linux 有 amd64 与 arm64,iOS 的包名里带 no_sign。不同产物的哈希当然不同。下载页那张表按后缀列了每个包的用途,先核对一下你拿到的是哪一种。

下载中断,文件是残的

大小比预期小、或者安装时报「包已损坏」,多半是传输中断。重新下一遍再算。这类情况哈希必然对不上,但文件本身没问题,只是没下完。

文件被替换或二次打包

大小和基准差了几 MB,哈希又对不上,基本可以定性。这时候不要安装——直接删掉,换官方渠道重下。如果你的来源是某个「高速下载」页面,它给的很可能是个下载器而不是安装包本身。

顺手分辨「安装包」和「下载器」

不用算哈希也能看出七八成,看三点就够:

两者的形态差别
官方安装包下载器 / 封装包
体积几十 MB,与平台相关通常只有几 MB,运行后才开始下主程序
文件名带平台与版本号,如 Kazumi_windows_2.4.2.msix「xx安装器」「xx高速下载」「setup」之类,不带版本号
运行后直接进入系统安装流程先出现一个带广告的下载界面,或要求选安装位置、捆绑其他软件

第二行那条最实用:Kazumi 的官方产物名严格遵循 Kazumi_平台_版本_架构.后缀,名字里必然带着版本号。名字里没有版本号的,基本可以不用看了。

校验通过之后

接下来是安装。各平台卡住的地方不一样:Windows 的 MSIX 会弹签名提示、macOS 会报「已损坏」、鸿蒙要走侧载,这些都在安装指南里按平台写全了。

装完第一次启动会要求你添加规则——安装包里不含任何默认规则,这是设计如此,不是缺文件。为什么这么设计、五种导入方式各适合什么场景,看规则入门。

Next

包确认干净了,
剩下的就是装上它。

六个平台各有各的坑:MSIX 的签名提示、macOS 的 xattr、鸿蒙的侧载。一页写完。