昨天下午,我把抽屉最底下那台红米 Note 9 拿出来充电。
屏幕亮了,卡在开机动画。
我盯着它看了四分钟,它又黑下去了。
我想起里面还存着一批图库应用的离线缓存。这念头一起,人就坐不住了。
先是拆包
手机是 2022 年 3 月买的,屏保还留着那次在便利店拍的收据,金额 27.5 元。系统进不去,但能进 Recovery。我把手机接上电脑,用 adb 把 /data/data 里能读到的目录拖出来,一共 11 个文件夹,其中第 7 个是图库应用的缓存目录,里面躺着 340 张缩略图和一份 2.3 MB 的索引文件。
索引文件是加密的,前面 16 个字节是固定的头。
我本来只想看看里面有什么。
结果文件打不开。
我打了三个电话
第一个电话打给老周,他在华强北修了十二年手机。他说这情况先别刷机,刷了缓存会一起没。他让我去找原厂系统镜像,只修复引导区,不动数据分区。第二个电话打给林薇,她是我认识的唯一一个做逆向的女生,她听了 30 秒,说这索引格式不是标准 SQLite,头部 16 字节是应用自己加的自定义标记,得先扒出应用本体的逻辑。第三个电话我没打,我在微信文档里翻到了三年前自己随手记的一条笔记,写的是「4949 图库的缓存目录在 /data/data/com.xxx.gallery/cache/,索引前缀 0x4F 0x4C 0x44」,后面跟着一个我早就忘了含义的 6 位数字。
三条线索,指向同一件事:恢复 4949 图库应用不是装个 App 那么简单。
它需要先理解它怎么存东西。
这是我今天兴奋的起点。
索引解开的那一瞬间
晚上十一点半,我在虚拟机里跑起一个老版本的运行环境。林薇给的解包脚本在前面 3 次都报错,第 4 次我把偏移量从 0x10 改到 0x14,跑通了。屏幕上刷出 340 行记录,每一行是一个图片 ID、一个创建时间和一个来源字段。来源字段里出现了三类值:本地相册、应用内缓存、外部导入。其中外部导入那一类,时间戳全部集中在 2021 年 8 月到 12 月之间,数量是 87 张。
87 张,我一张都想不起来是什么。
点开第一张,是一张模糊的截图,内容是一个我没见过的商品详情页。
第二张是一段聊天记录的局部。
第三张是一张手写的地址,字迹很像我妈。
我把手机放下,去厨房倒了杯水。回来接着翻。翻到第 46 张的时候,我明白了一件事——这些图不是我从 4949 图库里下载的,是我曾经用它的导入功能做过一次批量备份,然后忘了。
「你恢复的不是应用,是一次你自己都忘了的操作。」林薇在电话那头说。
为什么这次值得写出来
说实话,49图库正版资料库应用场景这类内容,平时我是不太写的。大部分教程都在教你点哪里、填什么,步骤写得像说明书,但你真到了那一步,发现每一步后面都藏着一个没写出来的前提。这次的恢复过程里,我撞见了三个前提:
一,缓存目录的读取权限比想象中松。
二,索引文件的自定义头决定了你能不能看懂它,而头的信息藏在应用本体里,不在任何文档里。
三,恢复之后的图库能不能被应用重新识别,取决于索引里的时间戳格式,差一位就全部作废。
第二个前提,我是靠翻到三年前自己写的一条笔记才破的。这让我对「随手记」这件事有了新的看法。最新49图库资料里那些整理得很整齐的条目,其实很多都省略了这种现场感。
我知道这话听起来像在给自己找台阶。管家婆精准资料图库查询那类页面把步骤拆得很细,确实帮了不少人。但细不等于对,步骤越细,越容易让人跳过判断。我今天凌晨两点把手机重启成功,看到图库应用图标重新出现在桌面上,第一反应不是「成功了」,而是「我差点把 87 张图弄没」。
这两件事的差别,挺大的。
后来我又想起一件事
恢复成功之后,我在管家婆38992论坛翻了半小时帖子。有个 ID 叫「南边来的风」的人,2024 年 11 月发过一条,说自己恢复之后图库显示 0 张,重装三次都没用。底下七条回复,六条让他清缓存。我把今天解出来的索引结构对着他描述的现象想了一遍,问题大概率不在缓存,在时间戳的时区没对齐——他手机是港版系统,时区设置和索引写入时区差了 8 小时,应用比对失败,直接把整批当无效数据跳过了。
我给他留了言,写了三段,没发出去。
想了想,还是删了。这种事得自己撞一遍才记得住。
我倒是把那条笔记补全了,加了一行:「时区是 0x14 之后的第 9 到第 12 字节,别动。」
这句话现在存在我的备忘录里,编号 031。
还有两个尾巴
第一,新奥800图库官方客服电话那类页面提供的联系方式,我用过一次,接通用了 47 秒,对方对索引格式一无所知。第二,香港最快最准资料站上关于图库恢复的条目,八成是复制粘贴,我比对过三段文字,标点和错别字都一模一样。这两件事不新鲜,但今晚又撞见一次,还是有点不舒服。
我不打算再写一篇教人怎么恢复的教程。
我想写的是:当你手上有一台开不了机的旧设备,和一堆你看不懂的文件,别急着找步骤。先找那个当年写文件的人留下的痕迹——可能是一行注释,可能是你三年前的一条随手记,也可能是一个数字。
找到了,剩下的都是力气活。