安卓Frida逆向与抓包实战
作者: 陈佳林
出版社:清华大学出版社 2021-09-01
简介:本书以详细介绍了Hook框架Frida在安卓逆向工程与抓包中的应用,主要内容包括如何搭建完美运行Frida的安卓逆向分析环境,使用Frida对安卓App各项组件、框架和代码进行Hook,如何批量自动化Hook,以及全自动导出结果。针对爬虫工程师为迫切需要的抓包技术,详细阐述了各种应用层框架的抓包实战,HTTP(S)及其框架抓包的核心原理及工具使用,通过Frida进行的Hook抓包,还进一步介绍了Frida对native层的Hook,以及一系列“通杀”“自吐”脚本的研发过程和核心原理。 本书内容详尽,突出实操,适合安卓开发人员,安卓应用安全工程师,逆向分析工程师,爬虫工程师,以及大数据分析工程师和安全研究人员使用。【目录】第1章 环境准备 11.1 虚拟机环境准备 11.2 逆向过程的环境准备 31.3 移动设备环境准备 71.3.1 刷机 71.3.2 ROOT 111.4 Kali NetHunter刷机 141.5 本章小结 18第2章 安卓逆向过程基础 192.1 Android相关基础介绍 192.1.1 系统架构 192.1.2 Android四大组件 212.2 从Hello World开始了解Android的开发流程 212.2.1 行代码Hello World的开发流程 222.2.2 Hello World分析与完善 242.3 安卓逆向过程中的常用命令 272.3.1 常用Linux命令介绍 272.3.2 Android特有的adb命令介绍 302.4 本章小结 35第3章 Frida逆向入门之Java层Hook 363.1 Frida基础 363.1.1 Frida介绍 363.1.2 Frida环境搭建 373.1.3 Frida基础介绍 393.1.4 Frida IDE配置 403.2 Frida脚本入门 413.2.1 Frida脚本的概念 413.2.2 Java层Hook基础 433.2.3 Java层主动调用 503.3 RPC及其自动化 533.4 本章小结 58第4章 Objection快速逆向入门 594.1 Objection介绍 594.2 Objection安装与使用 604.2.1 Objection安装 604.2.2 Objection使用 624.3 Objection实战 714.3.1 Jadx/Jeb/GDA介绍 724.3.2 Objection结合Jeb分析 764.4 Frida开发思想 844.4.1 定位:Objection辅助定位 844.4.2 利用:Frida脚本修改参数、主动调用 904.4.3 规模化利用:Python规模化利用 944.5 本章小结 96第5章 App攻防博弈过程 975.1 App攻防技术演进 975.1.1 APK结构分析 975.1.2 App攻防技术发展 995.2 Smali语言简介 1055.3 对App进行分析和破解的实战 1145.3.1 对未加固App进行分析和破解的实战 1145.3.2 对加固App进行分析和破解的实战 1225.4 本章小结 129第6章 Xposed框架介绍 1306.1 Xposed框架简介 1306.2 Xposed框架安装与插件开发 1326.2.1 Xposed框架安装 1326.2.2 Xposed插件安装 1346.3 本章小结 141第7章 抓包详解 1437.1 抓包介绍 1437.2 HTTP(S)协议抓包配置 1447.2.1 HTTP抓包配置 1447.2.2 HTTPS/Socket协议抓包配置 1527.3 应用层抓包核心原理 1567.4 Hook模拟抓包 1607.5 本章小结 169第8章 Hook抓包实战之HTTP(S)网络框架分析 1708.1 常见网络通信框架介绍 1708.2 系统自带HTTP网络通信库HttpURLConnection 1718.2.1 HttpURLConnection基础开发流程 1718.2.2 HttpURLConnection“自吐”脚本开发 1738.3 HTTP第三方网络通信库——okhttp3与Retrofit 1788.3.1 okhttp3开发初步 1788.3.2 okhttp3“自吐”脚本开发 1848.4 终极“自吐”Socket 1978.4.1 网络模型 1978.4.2 Socket(s)抓包分析 1998.5 本章小结 210第9章 Hook抓包实战之应用层其他协议及抓包分析 2119.1 WebSocket协议 2119.1.1 WebSocket简介 2119.1.2 分析WebSocket搭建环境 2129.1.3 WebSocket抓包与协议分析 2159.2 XMPP协议 2199.2.1 XMPP简介 2199.2.2 XMPP环境搭建与抓包分析 2209.3 Protobuf相关协议 2259.3.1 gRPC/Protobuf介绍 2259.3.2 gRPC/Protobuf环境搭建与逆向分析 2279.4 本章小结 237第10章 实战协议分析 23810.1 Frida辅助抓包 23810.1.1 SSL Pinning案例介绍 23810.1.2 服务器端校验客户端 24410.2 违法应用协议分析 24910.2.1 违法图片取证分析 24910.2.2 违法应用视频清晰度破解 26110.3 本章小结 266第11章 Frida逆向入门之native层Hook 26711.1 native基础 26711.1.1 NDK基础介绍 26711.1.2 NDK开发的基本流程 26811.1.3 JNI函数逆向的基本流程 27211.2 Frida native层Hook 27511.2.1 native层Hook基础 27511.2.2 libssl库Hook 28111.2.3 libc库Hook 28811.3 本章小结 292第12章 抓包进阶 29312.1 花式抓包姿势介绍 29312.1.1 Wireshark手机抓包 29312.1.2 路由器抓包 29712.2 r0capture开发 30012.3 本章小结 306