小馬佩德罗
业精于勤荒于嬉,行成于思毁于随
展开
-
Android 系统内的守护进程 - core类中的服务 (1) : adbd
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2020-01-10 09:47:05 · 13069 阅读 · 1 评论 -
Android 系统内的守护进程 - core类中的服务(2) : healthd
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2020-01-10 09:47:51 · 10926 阅读 · 3 评论 -
Android 系统内的守护进程 - core类中的服务(3) : lmkd
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2020-01-10 09:48:58 · 10843 阅读 · 1 评论 -
Android 系统内的守护进程 - core类中的服务 (4) : vold
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2023-05-06 23:25:06 · 608 阅读 · 0 评论 -
Android 系统内的守护进程 - core类中的服务 (5) : logd
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2023-05-07 19:00:50 · 482 阅读 · 0 评论 -
Android 系统内的守护进程 - core类中的服务 (6) : servicemanager
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2023-05-28 15:00:54 · 969 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(1) : netd
只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;原创 2023-05-05 18:38:26 · 729 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(2) : SurfaceFlinger
声明工作需要,分析SurfaceFlinger其实很好奇Android系统中的一些关键守护进程服务的作用;0 写在前面的只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;main类服务又分为:网络类服务(netd/原创 2021-01-20 17:04:22 · 11048 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(3) : installd
installd 这个守护进程是负责安装或卸载 App 包的。不论你的 App 包是应用市场下载安装的,还是用adb install 安装的,最终都还是要调用 installd。installd 守护进程本身,还是被动式的:它会去监听一个由 init 安装的socket,Android 框架产生的命令将由这个 socket 传递给它。class main。原创 2023-05-21 22:06:50 · 775 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(4) : keystore
用户的 keystore 的口令被存放在一个 .masterkey 文件中(用根据用户的屏幕解锁密码推出的密钥予以加密),各个 App 的 keystore 则存放在名为 AID_xxxxx的各个对应的文件中。密钥的访问是由 uid 来管理的,因此实际上每个应用都有它自己的私有存储。命令执行的返回码是定义在 system/security/keystore/include/keystore/keystore.h 文件中的,这些返回码会被 keystore_cli 翻译成下表所示的字符串。原创 2023-05-21 22:58:02 · 208 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(5) : debuggerd
以这种方式,而不是产生一个完整的核心转储,tombstone (有望)可以抓到造成崩溃的本质原因,并进行基本的崩溃处理 (crash processing)。如果系统属性 debug.db.uid 的值被设为当前崩溃的进程的 uid,那么 debuggerd 就会把该进程暂停在它最终崩溃的那一瞬间,并等待用户启动 gdbserver (并连上来调试这个进程)。如果是在一个可写的目录中运行这个程序的,那么默认的行为是:在目录中生成一个名为 “core” 的文件。应用在运行时难免会有崩溃的情况。原创 2023-05-22 19:00:00 · 1070 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(6) : gatekeeper
不过,运行在 TEE 中的代码还是可以完全访问这些秘密信息的,所以我们仍然能通过 TEE 完成数据加密、身份认证之类的工作。这一举措让 Android 几乎达到了 ios 的高强度的加密标准(在iOS中,一个存储在芯片硬件中的称为UID key密钥,使得暴力破解必须在本机上才能进行,而且速度很慢,即使是破解一个只有 4 位数的 PIN 码也要花很长的时间)在谷歌提供的这个HAL 模块中,是把 TrustZone 作为它自己“可以信赖的”TEE OS的一部分。原创 2023-05-22 19:30:00 · 786 阅读 · 0 评论 -
Android 系统内的守护进程 - main类服务(7) : sdcard
并非所有的Android 设备都必须支持 SD 卡,不过在Android 系统中还是有一个 sdcard 守护进程,提供用户态中对 SD 卡的支持,其中包括在不支持权限管理的 FAT 文件系统上强制使用权限管理。这是由一种被称为FUSE (File systems in USEr mode,用户态下的文件系统) 的机制来实现的。在完成了降低自身权限的操作之后(使用-u/-g 指定 GID),守护进程会调用 ignite_fuse(),进入一个消息循环中,随时准备处理/dev/fuse 发来的请求。原创 2023-05-22 21:15:00 · 368 阅读 · 0 评论