你大概经常给手机刷系统、给路由器升级固件,但有没有想过——你硬盘里跑的固件,从买来那天起就没动过?

大多数人连想都不敢想。系统盘谁敢乱碰?但有人偏偏盯上了这块"禁地"。一位代号[I Code 4 Coffee]的技术爱好者,为了破解Xbox 360,硬是把手伸进了机械硬盘的底层代码里。结果挖出来的东西,比预想中刺激得多。

打开网易新闻 查看精彩图片

他手头有三块机械硬盘,一块固态硬盘,准备开工。按理说这种活儿前人应该铺过路,搜一圈却发现——几乎没人干这个。硬盘固件修改的需求太冷门,零星能找到的资料也都过时了。最后他只捞到一点线索:用PC-3000数据恢复工具dump出来的固件镜像。

就凭这点碎片,他一头扎进了兔子洞。越往下挖越离谱:某些硬盘藏着厂商后门指令,能通过特殊命令直接操控;更夸张的是,部分型号的诊断RS-232端口居然能被外部利用。这些发现被他整理后扔上了GitHub,有兴趣的人可以自己去翻。

另一条潜入路径他也试通了——JTAG调试接口。这本来是硬件工程师用的东西,现在成了改写硬盘命运的备用通道。想想看,你存了十年照片、聊天记录、工作文件的硬盘,底层居然开着这么多扇后门,而你对它们的存在一无所知。

这事最细思极恐的地方在于:我们默认硬盘是"老实人",只负责存取数据,从不质疑它背地里在干什么。但固件就是固件,和任何软件一样可以被修改、被利用、被植入恶意代码。只是它藏得太深,深到杀毒软件都懒得管,深到你重装一百次系统也碰不到它。

当然,对普通人来说,这暂时还是"知道就好"级别的冷知识。除非你也想拿旧硬盘搞点特殊项目,否则没必要手痒去折腾。但下次听到硬盘咔哒作响的时候,你或许会多一个念头:那里面跑着的代码,从出厂那天起,真的就没变过吗?