3.2 KiB
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 小结
第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管理源码
第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
第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 小结