为什么要在凌晨重装一遍
事情的起点很琐碎。7 月 24 日晚上十点,我在旧抽屉里翻出一部 2022 年买的 Redmi Note 11,屏幕右下角有一道细裂纹,系统还停在 MIUI 14。我把它恢复出厂设置,装上一个干净的备用账号,只为了做一件事:把 tk49 安卓版的安装包从下载到首次启动的完整过程录屏,然后在电脑上把每一步对着日志重看一遍。这个念头来自三个月前一次失败的经历——当时我从一个聚合页面下了个所谓"最新版",装完发现包名对不上,图标还是旧的。
这次我给自己定了三条规矩。第一,只从页面明确标注版本号的入口取包;第二,下载完成后先在电脑上比对 SHA-256,再传到手机上安装;第三,安装前后各截一次「应用信息」页,把版本号、包名、签名摘要都记下来。听起来有点小题大做,但正是这三条,让我在 25 日凌晨一点二十分发现了一个此前没注意到的细节:同一个页面里,两个下载按钮指向的安装包构建日期差了整整十一天。
我把这个发现发给了在深圳做移动安全的周慕之,他回了一句话:"先看签名,再看权限,最后看它有没有偷偷申请你根本用不上的东西。"这句话基本成了我后面三天的检查提纲。顺带一提,如果你也在折腾浏览器主页被改回来的问题,可以翻翻我之前写的 qq浏览器换主页,那篇里有完整的还原步骤,和这次排查安装包的思路是同源的。
7 月 26 日下午三点十分,我在手机的应用信息页里看到版本号是 3.7.2,包名以 com.tk49 开头,签名摘要与页面公布的指纹前八位一致。到这一步我才敢继续往下点,进入主界面记录首次启动的权限弹窗顺序。这个过程很枯燥,但每一行截图都能对应到具体的时间点,事后回看不会含糊。