一、那块硬盘是从跳蚤市场摊位上拎回来的
上周四下午四点半,我在城南旧货市场的 B 区 17 号摊位前蹲了将近二十分钟。摊主姓秦,六十来岁,穿一件洗得发白的蓝色工装,摊上摆着七八块拆机硬盘、两盒有线鼠标和一摞没有标签的刻录盘。我从最底下翻出一块西数蓝盘,标签上有人用黑色马克笔手写了三行字:「2019.11 · 图库备份 · 勿动」。我问他能不能通电试一下,他指了指身后那台立在塑料凳上的旧主机,说「插上吧,能转就 30 块,转不了 10 块当配重」。硬盘认盘花了差不多四十秒,扇区扫描过了一半,我就付了钱。
那块盘后来成了这篇笔记的起点。
回家接上硬盘盒,第一眼看到的目录结构很朴素:一个名为 archive_49 的文件夹,里面是 11 个按月份命名的子目录,从 2019-01 排到 2019-11,总大小 2.7 GB。最外层有一个 index.csv,1.4 万行,字段是 id, kana, path, hash8, updated。真正让我坐下来的是那个 hash8 字段——八位十六进制,看起来像是某种截断校验值。我抽了 200 行,用同一套规则重算,命中率 96.5%,剩下 7 条对不上,全部集中在 2019-06 那个目录里。也就是说,这份「备份」里,至少有一个月份的图是后来被替换过的。
为什么这件事值得写下来
我接触这批资料图大约是从 2021 年开始的。当时我在做一个关于民间索引文化的小课题,跑了不少论坛帖子、站长群和个人的归档页,慢慢意识到一件事:大多数人对「正版」二字的理解,停留在「来源是不是官方渠道」这一层,而忽略了更关键的一层——版本谱系是否可追溯。一份资料图如果每一张都能回到它的上传时间、校对记录和校验值,那它才站得住;反之,哪怕是从最权威的入口下载的,只要中途被任何一次「优化」「修复」「补全」动过,它就已经是另一个东西了。那块硬盘上的 7 条哈希失配,就是这种「动过」留下的最诚实的证据。
二、版本谱系比内容本身更难找
我拉了一个表格,把这几年经手的六套「资料图」结构做了横向对比。最有意思的发现是:体积相近、张数相近的两套包,索引字段的设计差异会直接决定它能不能被验证。比如有一套用的是连续的 6 位序号,另一套用的是带月份前缀的 8 位组合码,前者一旦删改就无法定位断点,后者只要按月切片就能立刻发现异常。这不是技术炫技,是归档习惯的问题。我在表里给秦师傅那块盘打了最高分,理由很简单:它的 updated 字段精确到分钟,而且 11 个月里有 3 个月的更新时间集中在凌晨两点到四点之间——那是人工批量处理最典型的时段。
顺手把相关的几篇旧文并进了参考清单,比如新奥门49049.cm图库资料那篇里对入口差异的记录。
顺便说一句可能会挨骂的话:我个人认为,现在网上流传的绝大部分所谓「49 图库精选合集」,价值被严重高估了。它们大多是同一份源包反复转录、加壳、重新打包的产物,张数虚高,字段混乱,连最基本的去重都做不到。我随机抽过其中两套,交叉重复率达到 61%。真正稀缺的从来不是图片,而是那份能对得上的索引。谁掌握了索引的生成规则,谁才掌握了版本的话语权。这也是为什么我一直在追恢复原来的49图库5012那条线——它保留的旧版字段结构,恰好能反推 2019 年那批包的原始生成逻辑。
三、校验与还原:三个具体动作
具体做法我拆成三个动作,都是可以复现的。第一个动作,是拿原始 index.csv 和实际文件列表做集合差,找出「索引里有、盘上没有」和「盘上有、索引里没有」两类条目。秦师傅那块盘,前者 43 条,后者 118 条。第二个动作,是按月份统计目录的字节数中位数,偏离中位数超过 15% 的月份单独拉出来人工看,2019-06 就是这么浮出来的。第三个动作,是对失配的条目做一次「反向查找」——用图片的感知哈希去公开库里反搜,看它是不是来自更早的另一套包。这第三步最费时间,7 条里我花了两个晚上只查完 5 条,其中 4 条确认来自 2018 年的一版小包。
工具层面其实没什么玄机,绕不开的就是那几样。有人在qq浏览器怎么打开磁力链接那篇里整理过取包通道的细节,我照着试了两遍,成功率一般,但记录时间戳的习惯值得学。
我把这套流程写成了一页 A4 的检查表,贴在书桌右侧的软木板上。它现在有 9 条,第 9 条是前天新加的:「任何一次批量改名,先在副本上做,并导出一份改名前的清单」。加这一条是因为我上周手滑,把 2019-08 目录里的 216 个文件统一加了前缀,结果 hash8 全部失效,只能从另一块备份盘里重新导。教训很直接:归档这件事,容错率比效率重要得多。后来我又在站里翻到49图库免费恢复工具这篇,里面关于改名后找回索引的说明,和我这次的踩坑几乎一模一样,看得我笑了好一会儿。
四、一个小结论,以及还没想清楚的地方
到目前为止,我倾向于认为,评价「正版49图库资料图」这件事,应该从「内容是不是真的」转向「结构是不是可验的」。内容真假的判断成本太高,而且一旦转手就无从考证;结构可验,则任何人都能在一个下午之内完成一次抽检。这也是我把这篇笔记公开写出来的原因——不是为了给出一个名单,而是想把这套步骤摊开,让后来的人少走点弯路。当然我也清楚,这套方法有个明显的软肋:它默认索引文件本身没被动过手脚。如果索引和内容一起被重写过,那我目前的手段基本失效,只能靠跨源比对,而跨源比对的样本量,远远不够。
这段我保留,不删。留着提醒自己,答案还没拿到。
另外提一条算是交叉验证的小线索:在核对不同年份的包时,我发现有一类「三肖」式的短码组合,在 2019 年和 2022 年的两套索引里出现的频率分布惊人地一致,这不太像巧合。相关内容我在最准三肖必中一肖那篇的附录里做过一次粗略的频次统计,样本只有 800 条,结论不足为凭,但方向值得继续挖。也许下个月能写出第二篇。