内容简介
随着移动互联网的持续发展和移动智能终端的不断普及,面向我国庞大的移动互联网产业及基于《网络安全法》《数据安全法》《个人信息保护法》等法律法规针对移动应用持续合规的网络安全监管要求,移动安全攻防这一课题逐渐被产业界和学术界关注。基于我国核心信息技术应用创新的大背景,本书分4篇呈现移动安全攻防对抗领域的逆向技术与实战案例,并配套立体化资源,包括教学课件、源代码与视频教程等。
本书从Android安全分析环境构建开始。在基础篇中,通过破解第一个Android应用来着重解析应用程序包的结构,并解析应用在操作系统中的运行机制。在理论篇中,详细阐述移动应用安全基线,着重解析移动应用评估思路和移动安全检测评估的要点及常见漏洞,通过对MobSF移动安全框架的代码级拆解,全面讲解针对移动应用静态分析和动态调试全方位的安全评估技术原理。在工具篇中,针对静态逆向工具、动态调试工具、Hook工具、Unicorn框架、iOS逆向工具等章节,详细介绍各类移动安全中常用工具的技术原理和实战应用。在实战篇中,针对移动安全攻防实战中常见的脱壳实战、逆向实战、Hook实战、调试实战等,以案例的形式进行实战化解析,以帮助读者从一线攻防案例中获取移动安全攻防对抗经验。
本书适合作为高等学校网络空间安全学科及相关专业移动安全、软件逆向、代码安全等课程的教材,也可以作为网络安全研究员与移动应用开发者的自学参考书。
目录
基础篇
第1章 构建Android安全分析环境
1.1 常用adb命令一览
1.2 NDK命令行编译Android动态链接库
1.3 NDK工具链常用工具
1.4 解除手机BL锁
1.5 给手机刷入工厂镜像
1.6 Root Android系统
1.7 本章小结
第2章 破解第一个Android应用
2.1 反编译Apk
2.2 分析包内文件
2.3 修改Smali代码文件
2.4 重编译并签名
2.5 本章小结
第3章 iOS基础知识
3.1 iOS包结构分析
3.1.1 _CodeSignature文件夹
3.1.2 lproj文件夹
3.1.3 xcent文件
3.1.4 mobileprovision文件
3.1.5 info.plist文件
3.2 iOS应用启动过程分析
3.3 本章小结
理论篇
第4章 移动应用安全基线
4.1 移动应用评估思路
4.1.1 移动应用可能面临的威胁
4.1.2 移动应用的评估方向
4.1.3 移动应用自动化检测思路
4.2 安全检测的要点
4.2.1 Android常见漏洞分析
4.2.2 Android权限安全
4.3 OWASP移动平台十大安全问题
4.4 本章小结
第5章 移动安全+AI
5.1 LLM大模型技术
5.1.1 大模型的基础原理
5.1.2 大模型的发展历程
5.1.3 大模型的应用领域
5.1.4 大模型在App开发中的应用
5.2 大模型技术在移动攻防领域的应用
5.2.1 使用生成式人工智能创建Smishing活动
5.2.2 使用大模型对Android应用进行安全审计
5.3 大模型在应用开发安全领域的应用
5.3.1 通过大模型进行模糊测试
5.3.2 利用大模型自动化修复错误代码
5.4 移动设备搭载大模型所面临的风险
5.4.1 对部署在移动设备模型的白盒攻击
5.4.2 移动深度学习模型中隐藏恶意负载
5.5 本章小结
第6章 MobSF移动安全框架
6.1 安装部署MobSF
6.2 功能及源代码讲解
6.2.1 MobSF功能模块分析
6.2.2 一般功能分析
6.2.3 静态扫描功能分析
6.2.4 动态扫描功能分析
6.3 Apk静态分析流程
6.4 Apk动态分析流程
6.5 规则自定义开发
6.6 本章小结
工具篇
第7章 静态逆向工具
7.1 Apktool工具
7.1.1 Apktool基础与用法
7.1.2 Apktool源码分析
7.2 JEB工具
7.2.1 JEB安装
7.2.2 JEB静态分析
7.3 Jadx-gui工具
7.4 010-editor工具
7.4.1 010-editor解析so文件
7.4.2 010-editor解析Dex文件
7.5 本章小结
第8章 动态调试工具
8.1 动态调试介绍
8.2 IDA Pro工具
8.2.1 IDA简介以及基本用法
8.2.2 IDA动态调试Apk
8.2.3 IDA Dump Android应用内存
8.3 JDB调试器
8.4 JEB调试工具
8.5 本章小结
第9章 Hook工具
9.1 Frida
9.1.1 Frida简介
9.1.2 Frida安装运行
9.1.3 Frida程序编写与运行
9.2 Xposed框架
9.2.1 Xposed简介
9.2.2 Xposed框架的安装
9.2.3 Xposed程序的编写与运行
9.3 本章小结
第10章 Unicorn框架
10.1 Unicorn基础
10.1.1 Unicorn简介
10.1.2 Unicorn快速入门
10.2 Unicorn HelloWorld
10.2.1 编译与安装
10.2.2 编写HelloWorld程序
10.2.3 使用Unicorn Hook函数
10.2.4 利用Unicorn优化程序运行
10.3 Unicorn与Android
10.3.1 Unicorn建立ARM寄存器表
10.3.2 Unicorn加载调用so文件
10.3.3 Unicorn调试so文件
10.4 本章小结
第11章 iOS逆向工具的使用
11.1 砸壳工具
11.1.1 Clutch
11.1.2 CrackerXI
11.2 Classdump工具
11.3 Tweaks工具
11.3.1 Theos的前置环境
11.3.2 安装Theos
11.3.3 编写Tweaks程序
11.3.4 Tweaks程序的编译与安装
11.4 Cycript工具
11.4.1 Cycript的安装使用
11.4.2 使用Cycript分析应用
11.4.3 Cycript脚本
11.5 本章小结
实战篇
第12章 脱壳实战
12.1 Frida脱壳
12.1.1 Frida脱壳原