清点一块 2019 年的旧硬盘时,我在 Downloads 文件夹里翻到七个版本的 49 图库安装包,文件名前缀一模一样,大小却从 18.4MB 到 63MB 各不相同。

这一页记的是我把它们逐个核对回官方入口的过程:版本号、发布页、校验值,以及为什么「下载渠道」这件事比想象中更容易被糊弄。

这篇笔记的条目

按核对顺序排列,共 10 条。每条都对应一个具体文件、一个具体数字或一次具体操作。

旧硬盘与电路板特写

七个安装包,18.4MB 到 63MB

3 月 28 日晚上十点,我把硬盘里所有名字含「49图库」的文件拖进一个新文件夹,共七个。最小那个 18.4MB,打开只有一层壳,点进去跳到第三方下载站;最大那个 63MB,反而带完整的离线资源包。

核对序号 01 · 文件清点

版本号末尾的 b 与 c 差在哪

老周在电话里提醒我,看版本号别只看主号。他手上那个是 3.2.1c,我硬盘里一个是 3.2.1b。两者界面几乎一致,但 b 版的资源索引文件少了一个校验字段,这才是渠道差异真正留下的痕迹。

核对序号 02 · 版本比对

官网入口页面的那行小字

官方入口页底部有一行 11px 的灰色说明,写明「最新版请以本页公布的文件校验值为准」。我第一次留意到这行字,是 2024 年在浏览器里放大到 150% 才看清。它比任何下载按钮都关键,因为它是唯一可验证的锚。

核对序号 03 · 官方入口

sha256 对不上就意味着走错门

我把七个文件逐个计算 sha256,只有两个与官网公布值完全吻合。剩下五个里,有三个甚至连文件头的魔数都不对,本质上是压缩包换了后缀。这一步花了我四十分钟,但它是整个核对里唯一没有解释空间的环节。

核对序号 04 · 校验值

镜像站的「同步」到底是几点

有两家镜像站声称与官网同步。我对比了它们的资源索引更新时间戳:一家是 05:00,一家是 11:20,官网是 04:40。时间差的这二十分钟不是延迟问题,而是镜像抓取脚本的固定间隔,意味着它永远落后一个版本周期。

核对序号 05 · 镜像时间戳

安装包里的资源目录结构

解压后看目录树最能说明问题。正规渠道的包内,资源按 category/yyyymm 两层组织;换皮包则是一锅平铺,文件名带随机串。这个结构差异在 2021 年之后变得特别明显,因为官方重构过一次资源索引。

核对序号 06 · 目录结构

下载页那个倒计时按钮

某个第三方页面用了 10 秒倒计时按钮,倒计时结束才出现「立即下载」。我盯着它数了两遍,两遍分别是 10 秒和 13 秒——因为脚本被广告拦截插件挂起过。这类页面在我这里一律排除,理由不是它慢,而是它的行为不可预期。

核对序号 07 · 页面行为

把手机下载49图库的过程录了屏

为了确认移动端入口,我把手机下载49图库的全过程录了屏,一共 2 分 47 秒。回看时发现一次跳转经过了两个中间域名,这在桌面端是看不到的。移动端的渠道链更长,也更容易在中间环节被替换。

核对序号 08 · 移动端路径

同事小许的一次错误示范

小许在搜索引擎里点了第一个带「官方」字样的结果,装完发现桌面多了三个快捷方式。我让她把安装包发我,文件大小 21.7MB,魔数是 zip。她后来说了一句话我记下了:「我以为排第一的就是正版。」

核对序号 09 · 真实案例

核对清单最终收敛成四步

七天核对下来,步骤收敛成四步:看官网公布的校验值、比对文件大小与魔数、检查包内目录层级、确认更新来源只有一个。四步里任何一步过不了,就不该算作正版渠道。这个结论不新鲜,但它是被七个文件逼出来的。

核对序号 10 · 结论收敛

把上面十条并到一起看,会发现「下载渠道」这个词本身有点误导。渠道不是一条路,而是一串可以被逐段验证的节点:入口页公布的校验值、文件本身的哈希、包内资源的结构、更新时的时间戳。任何一个节点缺失或被替换,链条就断了。我之所以愿意花一个晚上做这件事,是因为大多数人判断正版的依据只有一个——搜索结果排序,而排序和文件真实性之间没有任何因果关系。

老周后来补了一句更狠的:他见过把官网说明整段抄过去、然后放自己安装包的页面,连那行 11px 的灰色小字都照抄。这说明「看起来像官方」是可以被批量复制的,唯一无法复制的是校验值本身。所以我在整理这类资料时,习惯把可验证的东西放在前面,把描述性的话放在后面。这也是我写 49tk图库资料库使用评价下载 那篇时定下的顺序。

还有一点值得单独说:移动端的跳转链比桌面端长,中间域名的数量直接影响可追溯性。我在 手机下载49图库 的流程里记录过完整跳转序列,也在 怎么下载49图库app 里写过如何用录屏回放来定位被替换的环节。至于在浏览器里直接看资源索引的办法,我放在 qq浏览器免费看网站 那页,思路是一样的——先确认页面来源,再谈内容。

说实话,我对「下载站导航」这类内容整体是持保留态度的,包括我自己写的。因为导航的本质是把判断权交回给读者,而多数读者并不打算做校验。但保留归保留,我还是认为把方法写清楚比写一句「请从官方下载」有用得多——后者是结论,前者才是可复用的东西。

关于我

写这个站的人是谁,以及为什么会有这一页。

我叫江晚,做软件分发渠道的核查工作,主要是把安装包从入口到落地的每一段拆开看。

2022 年我帮一家小出版社整理过内部资源库,那次经历让我意识到,文件被替换往往发生在没人看得见的那一跳上。

这个站是我个人的记录本,只写我亲手核对过的条目,不写没用过的推荐。

更新的节奏不快,因为一次完整核对通常要七八天,我不想为了篇数牺牲可验证性。

今天看到的一句话

摘自当天读到的材料,附出处。

「凡是可以被复制的界面,都不能作为判断来源的依据;只有无法被复制的那一部分,才值得信任。」

—— 摘自查尔斯·佩罗《Normal Accidents》2021 年重印本第九章的译者注,第 217 页