论坛首页 蓝队防御建设区 阅读主题

[原创] Android 内核启动流程分析 (13.0.0_r3)

238 浏览 4 回复
#1 楼主 2026-06-01 21:09:19
本次分析代码都是基于 android-13.0.0_r3 版本进行分析主要是分析内核的启动过程,大概将各个板块在启动过程中什么时候启动,对应的函数调用链条,方便后续进行详细分析的时候有个大概的框架概念。详细的各个板块的拆解分析,留给后面的专门的解析文章。DAC 基于 UID/GID 的传统 Linux 权限控制,通过文件所有者和权限位控制访问。比如我们最重要的进程的权限设置Init进程中的DAC权限设置 - system/core/init/service_utils.cpp:235Zygote中的DAC权限设置 - frameworks/base/core/jni/com_android_internal_os_Zygote.cpp:1891Zygote中的MAC权限设置 - frameworks/base/core/jni/com_android_internal_os_Zygote.cpp:2133Init 中MAC权限设置zygote 进程是 Android 系统中的一个关键组件,主要负责应用程序的启动和管理。在启动时,zygote 会预加载一些常用的类和资源,以提高后续应用程序的启动速度。这种预加载机制可以减少内存使用和启动时间。zygote 使用 fork 机制来创建新的应用程序进程。当应用程序需要启动时,zygote 会复制自身的内存空间,从而快速生成新的进程。这种方式比传统的进程创建方式更高效。预加载过程运行在 Zygote 进程中监听 socket,fork 应用进程,管理 USAP 池等zygote 进程在启动时会创建 SystemServer 进程,SystemServer 进程则依赖于 zygote 提供的功能来管理和启动其他服务。SystemServer 进程负责启动和管理各种系统服务,如 ActivityManager、WindowManager、PackageManager、PowerManager 等。这些服务是 Android 系统正常运行所必需的。┌─────────────────────────────────────────────────────────────┐

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-289978.htm
#2 2026-06-01 21:09:19
tql
#3 2026-06-01 21:09:19
tql
#4 2026-06-01 21:09:19
好文章,火钳刘明
#5 2026-06-01 21:09:19
好文章,感谢!

请登录后参与讨论

立即登录 注册账号