那个括号,是我三年前自己写上去的
先交代场景。今年三月的一个周末,我在整理书桌右侧那只铁皮柜,底层压着一块 2019 年买的三星 T5 移动固态硬盘,外壳的橡胶已经发黏。插上电脑,风扇转了两圈才认出来。文件夹叫「wallet_archive」,里面六个安装包,命名规则是我自己定的:年份加版本号加校验位。最后一个文件叫 2021_v2.9.3_btc(别用).apk,那个括号是我自己加的,笔迹已经想不起来了。
我花了大概四十分钟,才想起来为什么加这个括号。2021 年秋天,我在一个技术论坛上看到有人贴出两个安装包的文件大小,相差 1.2 MB,哈希完全不同,但界面截图一模一样。当时我没深究,只是把自己那份删了重下,顺手在文件名后面加了注记。这件事我从没写进任何一篇文章里,因为那时候我还不确定该不该谈这个。现在我觉得该谈了。
安装包的名字可以改三次,签名指纹只能有一个。
这句话听起来像口号,其实是操作层面的判断。我把这块硬盘里的六个包挨个拖进命令行,用 apksigner 验证签名,五个通过,一个失败——失败的正是那个带括号的。失败的报错是「Signature verification failed: META-INF/MANIFEST.MF digest mismatch」,意思是清单文件和实际内容对不上。那天我坐在显示器前面安静了大概半分钟,然后打开浏览器,把「imtoken官网正版下载」这几个字敲进搜索框,逐条翻了三页。
搜索框里的三种页面,长得都不一样
我后来做了一件有点笨的事:连续两周,每天换一台设备、换一个网络环境,去访问搜索结果里排在前面的那些「下载页」,把页面结构、下载按钮的跳转链路、还有最终拿到手的文件哈希,一个个记在表格里。两周下来,样本不算多,大概四十来个页面,但规律挺清楚。第一类是官方站点,页面朴素,版本号和更新日志对得上,下载走的是固定路径,没有弹窗;第二类是镜像站,内容大多抄自第一类,但更新滞后,往往慢两个小版本;第三类最难分辨,页面做得比官方还漂亮,配色考究,有"安全认证"的徽章,下载按钮点下去却先进一次中间页。
我把这个表格发给了两位朋友。一位是做了七年 Android 逆向的老周,他在杭州,回我的第一句话是「你这表格里第三列的哈希,能不能再跑一遍 md5sum?」另一位是读研时的室友,现在在一家支付公司做合规,他只回了一个字:「多。」这两位反应不一样,但意思是一样的:这类页面太多,而愿意逐个验证的人太少。
老周的原话我记在笔记里:「安装包不怕旧,怕的是你以为它是新的。」他说这话的时候我们正在视频,他背后有一整面墙的电路板,最上面那层落着灰。
所以这一期的标题我用了「每周更新」四个字,不是修辞。版本在更新,仿冒页也在更新,验证方法如果停在两年前,就等于没验证。6996新ip登录入口1 这类入口页面我上个月也顺手看过一次,它的更新节奏和版本号能对上,但页面上的说明文字写得比较含糊,我当时在表格里给它标了个黄色。这不是结论,只是记录,记录本身比结论可靠。
三次核对,一次比一次慢
我把自己的验证流程压到了三步,每一步都不快。第一步是看页面地址,站点结构与历史版本记录是否一致,这一步最快,三十秒能判断八成;第二步是比对文件大小与哈希,官方的发布说明里通常会给出构建信息,对不上就停;第三步是装上之后看签名信息和权限申请,钱包类应用不该要通讯录权限,这一条我坚持了很多年。三步走完通常要七八分钟,比直接点下载慢得多,但省下来的麻烦不止七八分钟。
说到权限,我想插一句可能不太受欢迎的话:我认为把「下载」这件事外包给任何第三方聚合页,都是不合算的。聚合页的价值在于省事,而钱包这个品类,省事恰恰是最贵的那种便宜。这话我在几个群里说过,有人反驳说普通用户没能力验哈希。我承认,所以我一直在写这类文章,把验证的门槛往下压,能压多少压多少。这不算什么高尚的理由,就是觉得该有人把步骤写清楚。
顺带一提,上个月我在一个做图库导流的页面里看到过类似的提醒文案,措辞几乎照搬,只是把品类换掉了——49图库免费领取 那一页的顶部公告写得很直白,说「版本号与文件哈希以发布记录为准」,这句话放在任何下载场景里都成立。我把这一句抄进了自己的笔记。另外还有一类页面专门做号码与版本对照的查询,比如 开码十二生肖49码结果,它们的结构其实可以借来做一个「版本对照表」,我最近正在试着把这种对照思路迁移到安装包归档上,做出来大概要到下个月。
记录这件事,本身就值得
回到那块硬盘。我最后没有扔掉它,而是把六个包连同校验结果一起刻进一张光盘,写上日期,放进抽屉。这个动作在今天看来有点多余,云盘、仓库、版本管理工具都能做这件事。但我发现,凡是需要「日后回头确认」的东西,物理介质反而更可信——它不会因为某个服务下线而消失,也不会因为某个账号被封而失联。这是个很保守的判断,我不打算说服谁。
这篇文章写到这里,其实只讲了一件小事:一个括号,和括号背后的那次犹豫。但我觉得这类小事值得记下来,因为关于 imtoken官网正版下载 的讨论,太多停留在"去官网下"这五个字上,而这五个字背后是几十次具体的比对、几十个下午的耐心。江晚写东西慢,也是这个原因,一篇要查两周的表格,写出来只剩两千字,但这两千字里每个数字都跑过一遍。
下一期我想写 2020 年那次版本号跳号,材料已经攒了一半。