目录





基础篇

第1章构建Android安全分析环境

1.1常用adb命令一览

1.2NDK命令行编译Android动态链接库

1.3NDK工具链常用工具

1.4解除手机BL锁

1.5给手机刷入工厂镜像

1.6Root Android系统

1.7本章小结

第2章破解第一个Android应用

2.1反编译Apk

2.2分析包内文件

2.3修改Smali代码文件

2.4重编译并签名

2.5本章小结

理论篇

第3章移动应用安全基线

3.1移动应用评估思路

3.1.1移动应用可能面临的威胁

3.1.2移动应用的评估方向

3.1.3移动应用自动化检测思路

3.2安全检测的要点

3.2.1Android常见漏洞分析

3.2.2Android权限安全

3.3OWASP移动平台十大安全问题

3.4本章小结

第4章MobSF移动安全框架

4.1安装部署MobSF

4.2功能及源代码讲解

4.2.1MobSF功能模块分析

4.2.2一般功能分析

4.2.3静态扫描功能分析

4.2.4动态扫描功能分析

4.3Apk静态分析流程

4.4Apk动态分析流程

4.5规则自定义开发

4.6本章小结





工具篇

第5章静态逆向工具

5.1Apktool工具

5.1.1Apktool基础与用法

5.1.2Apktool源码分析

5.2JEB工具

5.2.1JEB安装

5.2.2JEB静态分析

5.3Jadxgui工具

5.4010editor工具

5.4.1010editor解析so文件

5.4.2010editor解析Dex文件

5.5本章小结

第6章动态调试工具

6.1动态调试介绍

6.2IDA Pro工具

6.2.1IDA简介以及基本用法

6.2.2IDA动态调试Apk

6.2.3IDA Dump Android应用内存

6.3JDB调试器

6.4JEB调试工具

6.5本章小结

第7章Hook工具

7.1Frida

7.1.1Frida简介

7.1.2Frida安装运行

7.1.3Frida程序编写与运行

7.2Xposed框架

7.2.1Xposed简介

7.2.2Xposed框架的安装

7.2.3Xposed程序的编写与运行

7.3本章小结

第8章Unicorn框架

8.1Unicorn基础

8.1.1Unicorn简介

8.1.2Unicorn快速入门

8.2Unicorn HelloWorld

8.2.1编译与安装

8.2.2编写HelloWorld程序

8.2.3使用Unicorn Hook函数

8.2.4利用Unicorn优化程序运行

8.3Unicorn与Android

8.3.1Unicorn建立ARM寄存器表

8.3.2Unicorn加载调用so文件

8.3.3Unicorn调试so文件

8.4本章小结

实战篇

第9章脱壳实战

9.1Frida脱壳

9.1.1Frida脱壳原理

9.1.2编写脱壳脚本

9.1.3执行脱壳脚本

9.2FART脱壳

9.2.1ART的脱壳点

9.2.2FART脱壳原理

9.2.3脱壳实践

9.3OLLVM脱壳

9.3.1指令替换混淆还原

9.3.2控制流平展的还原

9.3.3伪造控制流的还原

9.4本章小结

第10章逆向实战

10.1逆向分析Smali

10.1.1逆向分析Apk

10.1.2修改smali代码

10.1.3重编译运行

10.2逆向分析so文件

10.2.1逆向分析Apk

10.2.2使用IDA Pro分析so文件

10.2.3插入调试语句运行

10.3本章小结

第11章Hook实战

11.1Xposed Hook

11.1.1JEB分析Apk

11.1.2编写Xposed模块

11.1.3获取Flag

11.2Frida Hook

11.2.1JEB解析Apk

11.2.2使用IDA Pro分析foo.so

11.2.3编写Frida脚本

11.2.4获取flag

11.3本章小结

第12章调试实战

12.1静态调试

12.1.1从Activity切入分析应用

12.1.2使用Jadxgui分析应用

12.2动态调试

12.2.1获取目标逻辑的函数调用

12.2.2使用Android Studio调试

12.3Native调试

12.3.1Unidbg工具的介绍

12.3.2Unidbg工具的安装测试

12.3.3利用Unidbg直接调用so文件方法

12.4本章小结

第13章IoT安全分析实战

13.1IoT移动应用威胁建模

13.2反编译Android应用包

13.3Android代码静态分析

13.4Android数据存储分析

13.5动态分析测试

13.6本章小结

参考文献