Android 逆向Android 进程简介 ( Android 应用启动流程 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 逆向Android 进程简介 ( Android 应用启动流程 )相关的知识,希望对你有一定的参考价值。

前言

参考 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ ) 博客 , /proc/ 目录中存放的是所有进程相关信息 ;





一、android 进程



Android 操作系统中运行程序 , 首先要给程序分配内存 , 除内存外 , 程序运行还需要 文件 , 套接字 等维持其运行 ; 每个程序都需要一套上述机制 , 才能保证运行 ;

为了解决上述问题 , 引入进程机制 , 进程是操作系统中最小的资源调度单位 , 被调度的资源包括 CPU , 内存 , 存储空间 等 ;

执行 ps -ef 可以打印出当前正在运行的所有进程 ;

进程中 , 除进程号之外 , 其它元素都可能会重复 ;

应用 与 进程 的对应关系是 一对多的关系 , 一个应用可能有多个进程 ;

一个进程 只可能对应 一个应用 ;





二、Android 应用启动流程



Android 中的 ActivityManagerService 就是用于管理应用进程的 ;

用户点击应用图标 , 请求 ActivityManagerService 启动某个应用 , ActivityManagerService 会向 Zygote 发出创建应用的请求 , 应用进程实际上是有 Zygote 创建的 ;

zygote 也是进程 ;

以上是关于Android 逆向Android 进程简介 ( Android 应用启动流程 )的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so 动态库中的 mmap 函数 一 | mmap 函数简介 )

Android 逆向Android 系统文件分析 ( /proc/ 目录文件分析 | 记录系统和进程信息 | version 内核版本信息文件 )

Android 逆向Android 系统文件分析 ( /proc/ 目录文件分析 | 记录系统和进程信息 | version 内核版本信息文件 )

Android 逆向代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )

Android 逆向Android 进程注入工具开发 ( 注入代码分析 | 获取 linker 中的 dlopen 函数地址 并 通过 远程调用 执行该函数 )

Android 逆向ptrace 函数 ( C 标准库 ptrace 函数简介 | ptrace 函数真实作用 )