溶丝,指的是在CPU内部集成的一个efuse器件,这个器件就是一组保险丝,大约几百个bits吧。一旦写入数据,保险丝熔断是没有办法恢复的,一次性的。
把引导程序的公钥的hash值写入efuse后,CPU的BootROM会按照这个值校验引导程序。
引导程序校验下一段程序,比如boot.img(linux kernel)。
这样就形成了一个安全启动的校验链(secure boot chain),除非你有对应的私钥给刷机包的校验链涉及到的image签名,否则修改之后,启动时会校验失败而黑屏或者停止在启动画面。
当然,用于卡刷的recovery也在校验链里面。以上这就防止了第三方对ROM的篡改。
现在基本所有手机的CPU都支持这个功能,可能有一些没有打开而已。10几年前溶丝这个技术就有了,但没有用在手机上面,POS机可能是最早用到的这个功能吧。
未溶丝,就是这个校验链还没有完全生效,你还有机会用第三方的ROM。溶丝之后,就只能用360的ROM了。不过,溶丝之后上面的字会消失。
你说的深层代码,应该主要是指引导程序和linux kernel,用的是C语言。不过你得先拿到这部手机的源代码才能修改,这个很难做到。
这个通常和开发语言无关,而是需要开发工具,甚至一定的权限。
一般意义上的熔断(fuse)是指的针对出售的手机(具体来说,可能是手机内部的CPU也可能是一个独立的安全器件)做一个写操作。
这个操作的结果就是在硬件上写入某个寄存器(该操作不可逆),那么今后开机boot代码会检查这个寄存器来确认这个寄存器的值来验证这一台是否属于合法出售的手机。
安全性更高的一些方案(比如以前MARVELL给黑莓定制的方案)可能是对硬件做一次加密操作(比如HASH),然后对手机写入这个HASH值(公钥),今后只有被授予权限的机构才有合法私钥可以被允许更改手机代码。
因此你拿到的测试手机,如果能拿到相应的fuse工具(从安全考虑,一般都是独立的工具)可能就可以完成fuse.如果安全程度很高(不过国内手机基本没人这么玩)拿到工具也没用,还需要开启权限。