506 字
3 分钟
Android启动0 - 前言
这个是我新开的专栏。其实这方面的知识,我从2023年就开始学习了。但是因为这部分知识在工作中很少用到,并且我日常的主力机型是iPhone,导致这里的知识一直处于学了忘、忘了学的状态。
这部分知识,说重要也重要,不然连main函数不知道在哪还好意思说自己是安卓开发;说不重要也确实不重要,应用开发很少会牵涉这方面的知识。
最近我在折腾客户端层面的硬件认证。本来以为整个流程已经十分安全了,但是不幸的是,经过跟HsukqiLee的友好交流,我们发现这个认证流程仍然有漏洞。于是乎,我又开始学习Android设备启动的流程,试图弄清 StrongBox / TEE 所依赖的可信执行环境究竟是否真正可信。这下得把学习的东西记录在博客里了,不然过一会又忘了。好在,最后的结论是StrongBox / TEE 所依赖的可执行环境仍然是可信的。有面具模块能“绕过“硬件证书认证,是因为Hook了Android KeyStore的Java层接口,用泄漏的硬件根证书完成签名。详见:
Waiting for api.github.com...
从手指点击屏幕上的APP Icon,到新的Activity被拉起,软件过程中间发生了什么?
这个问题本来是我公司组内的一个技术分享选题,并且是我主推的。但是,后来有人觉得这个题目对开发无帮助,把选题改成了《TXSP启动流程分享》。
我想:我草,这有什么好分享的?自己去看代码不就行了吗?当然,因为我当时的话语权不够,也不好说什么。~~果然一旦涉及到底层知识,就知道谁在裸泳。~~不过,既然公司内无法分享,那我就把这部分的知识整理成博客吧。
Android启动0 - 前言
https://blog.nowcent.cn/posts/android-boot-introduction/