From da552dd968d2f419f62fbf5a5cf919c3ed4ef81a Mon Sep 17 00:00:00 2001 From: feiocng Date: Mon, 6 Mar 2023 13:34:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 目录.md | 263 +++++++++++++++++++++++++++----------------------------- 1 file changed, 126 insertions(+), 137 deletions(-) diff --git a/目录.md b/目录.md index eea4dba..5f20590 100644 --- a/目录.md +++ b/目录.md @@ -1,150 +1,139 @@ -### AOSP系统定制入门教程 +# AOSP系统定制入门教程 -第1章 引言 -1.1 AOSP是什么 -1.2 系统开发,定制,刷机,改机分别是什么 -1.3 安卓系统发展史 -1.4 常见的第三方定制系统 -1.5 初识系统定制 -1.5.1 系统定制的优点 -1.5.2 系统定制的缺点 -1.5.3 系统定制的发展趋势 -1.6 初识系统刷机 -1.7 小结 +## 第1章 引言 +### 1.1 AOSP是什么 +### 1.2 系统开发,定制,刷机,改机分别是什么 +### 1.3 安卓系统发展史 +### 1.4 常见的第三方定制系统 +### 1.5 初识系统定制 +### 1.5.1 系统定制的优点 +### 1.5.2 系统定制的缺点 +### 1.5.3 系统定制的发展趋势 +### 1.6 初识系统刷机 +### 1.7 小结 -第2章 系统开发环境与工具 -2.1 重新看待系统定制 -2.2 环境准备 -2.2.1 Windows环境 -2.2.2 Linux环境 -2.3 如何选择源码版本 -2.4 编译 -2.5 模块编译 -2.6 内核编译 -2.7 刷机 +## 第2章 系统开发环境与工具 +### 2.1 重新看待系统定制 +### 2.2 环境准备 +### 2.2.1 Windows环境 +### 2.2.2 Linux环境 +### 2.3 源码拉取与同步 +### 2.4 系统编译 +### 2.5 模块编译 +### 2.6 内核编译 +### 2.7 刷机 +### 2.8 源码的开发环境搭建 +### 2.9 gitlab+repo管理源码 -2.8 源码的开发环境搭建 +## 第3章 认识系统组件 +### 3.1 源码结构介绍 +### 3.2 Android的启动流程 +### 3.3 内核启动 +### 3.4 init进程启动 +### 3.5 init.rc +### 3.6 Zygote启动 +### 3.7 应用启动 +### 3.8 认识services +### 3.9 认识framework +### 3.10 认识libcore +### 3.11 认识sepolicy +### 3.12 认识linker -2.9 gitlab+repo管理源码 +## 第4章 系统美化 +### 4.1 系统美化简介 +### 4.2 常见的系统美化方式 +### 4.3 UI界面资源 +### 4.3.1 认识framework-res +### 4.3.2 编译framework-res +### 4.4 修改开机画面 +### 4.5 修改字体 +### 4.6 修改壁纸 +### 4.7 修改图标 +### 4.8 美化包使用 +## 第5章 系统功能增强 +### 5.1 内置谷歌套件 +### 5.1.1 gapps是什么 +### 5.1.2 系统如何内置 +### 5.1.3 测试效果 +### 5.2 为系统预置app +### 5.3 为系统预置jar库 +### 5.3.1 jar的编译与生成 +### 5.3.2 内置jar +### 5.3.3 测试效果 +### 5.4 为系统预置so动态库 +### 5.4.1 so的编译与生成 +### 5.4.2 内置so +### 5.4.3 测试效果 -第3章 认识系统组件 -3.1 源码结构介绍 +## 第6章 系统功能定制 +### 6.1 如何进行功能定制 +### 6.2 系统级别的插桩工具实现 +### 6.3 自定义系统服务 +### 6.4 从0开始添加一个app +### 6.4.1 如何编译 +### 6.4.2 系统app的生成 +### 6.4.3 测试效果 +### 6.5 扩展系统APP功能 +### 6.6 为系统加入进程注入器功能 +### 6.6.1 app启动流程跟踪 +### 6.6.2 注入时机的选择 +### 6.6.3 注入dex +### 6.6.4 注入so +### 6.7 修改app启动的默认权限 +### 6.7.1 系统读取权限的源码跟踪 +### 6.7.2 AOSP10下的默认权限修改 +### 6.7.3 AOSP12下的默认权限修改 +### 6.8 添加系统证书 +### 6.8.1 内置证书到系统 +### 6.8.2 系统获取系统证书的方式 -3.2 Android的启动流程 +## 第7章 系统集成脱壳功能 +### 7.1 什么是壳,为什么要加壳 +### 7.2 常见壳的特征介绍 +### 7.2.1 初代壳 +### 7.2.2 二代壳 +### 7.2.3 三代壳 +### 7.3 脱壳的原理 +### 7.3.1 类的加载流程 +### 7.3.2 函数的调用流程 +### 7.3.3 简单的初代壳实现 +### 7.3.4 如何脱壳 +### 7.4 简单脱壳实现 +### 7.5 自动化脱壳功能 +### 7.6 认识art +### 7.7 加入脱壳功能 +### 7.8 测试效果 -3.3 内核启动 +## 第8章 系统集成Frida +### 8.1 什么是Frida +### 8.2 Frida基础用法 +### 8.3 集成Frida gadget +### 8.4 测试效果 -3.4 init进程启动 -3.5 init.rc +## 第9章 系统集成Xposed框架 +### 9.1 什么是Xposed +### 9.2 Xposed实现原理 +### 9.3 支持Xposed语法的Hook框架 +### 9.4 内置Hook框架 +### 9.5 实战加载Xposed模块 -3.6 Zygote启动 +## 第10章 系统集成开发eBPF +### 10.1 什么是eBPF +### 10.2 什么是bcc +### 10.3 安卓系统中使用bcc +### 10.3.1 为系统打上补丁 +### 10.3.2 测试eBPF便能 +### 10.4 使用eBPF实现安卓系统进程跟踪 -3.7 应用启动 +## 第11章 系统级调试与反调试 +### 11.1 正常测试机下的调试 +### 11.2 集成调试环境 +### 11.3 系统集成反调试 +### 11.4 android下的硬件调试 -3.8 认识services -3.9 认识framework -3.10 认识libcore -3.11 认识sepolicy -3.12 认识linker - -第4章 系统美化 - -4.1 系统美化简介 - -4.2 常见的系统美化方式 -4.3 UI界面资源 -4.3.1 认识framework-res -4.3.2 编译framework-res -4.4 修改开机画面 -4.5 修改字体 -4.6 修改壁纸 -4.7 修改图标 -4.8 美化包使用 - -第5章 系统功能增强 -5.1 内置谷歌套件 -5.1.1 gapps是什么 -5.1.2 系统如何内置 -5.1.3 测试效果 -5.2 为系统预置app -5.3 为系统预置jar库 -5.3.1 jar的编译与生成 -5.3.2 内置jar -5.3.3 测试效果 -5.4 为系统预置so动态库 -5.4.1 so的编译与生成 -5.4.2 内置so -5.4.3 测试效果 - -第6章 系统功能定制 -6.1 如何进行功能定制 -6.2 系统级别的插桩工具实现 -6.3 自定义系统服务 -6.4 从0开始添加一个app -6.4.1 如何编译 -6.4.2 系统app的生成 -6.4.3 测试效果 -6.5 扩展系统APP功能 -6.6 为系统加入进程注入器功能 -6.6.1 app启动流程跟踪 -6.6.2 注入时机的选择 -6.6.3 注入dex -6.6.4 注入so -6.7 修改app启动的默认权限 -6.7.1 系统读取权限的源码跟踪 -6.7.2 AOSP10下的默认权限修改 -6.7.3 AOSP12下的默认权限修改 -6.8 添加系统证书 -6.8.1 内置证书到系统 -6.8.2 系统获取系统证书的方式 - -第7章 系统集成脱壳功能 -7.1 什么是壳,为什么要加壳 -7.2 常见壳的特征介绍 -7.2.1 初代壳 -7.2.2 二代壳 -7.2.3 三代壳 -7.3 脱壳的原理 -7.3.1 类的加载流程 -7.3.2 函数的调用流程 -7.3.3 简单的初代壳实现 -7.3.4 如何脱壳 -7.4 简单脱壳实现 -7.5 自动化脱壳功能 -7.6 认识art -7.7 加入脱壳功能 -7.8 测试效果 - -第8章 系统集成Frida -8.1 什么是Frida -8.2 Frida基础用法 -8.3 集成Frida gadget -8.4 测试效果 - -第9章 系统集成Xposed框架 -9.1 什么是Xposed -9.2 Xposed实现原理 -9.3 支持Xposed语法的Hook框架 -9.4 内置Hook框架 -9.5 实战加载Xposed模块 - -第10章 系统集成开发eBPF -10.1 什么是eBPF -10.2 什么是bcc -10.3 安卓系统中使用bcc -10.3.1 为系统打上补丁 -10.3.2 测试eBPF便能 -10.4 使用eBPF实现安卓系统进程跟踪 - -第11章 系统级调试与反调试 -11.1 正常测试机下的调试 -11.2 集成调试环境 -11.3 系统集成反调试 -11.4 android下的硬件调试 - -第12章 基于定制系统的逆向实战 -12.1 案例1 -12.2 案例2 -12.3 小结 \ No newline at end of file +## 第12章 基于定制系统的逆向实战 +### 12.1 案例1 +### 12.2 案例2 +### 12.3 小结