《Android移动安全攻防实战(微课视频版)》是由清华大学出版社出版的一本关于Android方面的书籍,作者是叶绍琛、陈鑫杰、蔡国兆,主要介绍了关于Android、移动安全方面的知识内容,目前在Android类书籍综合评分为:7.3分。
书籍介绍
“极牛众星计划”图书,系统论述Android应用加固领域相关攻防技术,全面涵盖软件逆向、攻防实战以及安全开发。配有课件、源代码、参考资料等。
编辑推荐
网络空间是继陆海空天后的第五主权空间,网络空间安全事关国家安全。近年来,随着《网络安全法》和网络安全等级保护标准的推进落实,我国网络空间安全产业逐渐发展成熟,广大高等院校也相继开设网络安全相关专业,由于软件逆向工程方向技术原理复杂、实战难度大,导致市场上缺少既重视理论技术、又重视攻防实战的技术书籍。本书分4篇(基础篇、理论篇、工具篇、实战篇),立体化呈现了Andriod移动应用安全攻防与逆向分析。
为方便读者高效学习,快速掌握Android移动安全理论与逆向分析的实践,作者精心制作了教学课件(全13章,超过400页)、参考开源项目源代码(超过70万行)、电子资料(超过500页)及配套视频教程(21个微课视频)等资源。
内容简介
本书向读者呈现了Android移动应用安全攻防与逆向分析的立体化教程(含纸质图书、电子资料、教学课件、源代码与视频教程),全书共4篇。
篇基础篇(第1章和第2章),目的是让读者快速建立对Android应用安全分析的基本概念,介绍了构建Android分析环境的一些基本方法与工具,以及通过对一个Android应用Apk文件进行反编译,并篡改中间状态的Smali代码,再重编译签名打包全过程的介绍,帮助读者进入Android应用逆向分析的大门。第二篇理论篇(第3章和第4章),目的是通过介绍Android操作系统常见的安全漏洞,帮助读者树立Android应用安全开发的意识,从而构建Android应用安全的一个具体框架。介绍了App安全基线,包括应用的评估思路、Android系统的安全问题与常见漏洞。通过分析一个Android静态逆向和动态调试自动化分析框架MobSF的功能,使读者全面了解Android逆向分析过程中的关注点。第三篇工具篇(第5~8章),介绍静态逆向和动态调试所使用的工具,以及常见的Hook工具和针对Native层的C 代码的调试手段。第四篇实战篇(第9~13章),包括脱壳实战,针对Java层与Native层的逆向实战,使用工具篇介绍的两种主流Hook框架进行具体的实战操作,使用静态和动态两种方式分析复杂功能App的业务逻辑,使用抓包的方式对物联网移动应用进行分析实战。
为方便读者高效学习,快速掌握Android移动安全理论与逆向分析的实践,作者精心制作了电子资料(超过500页)、教学课件(全13章,超过400页)、参考开源项目源代码(超过70万行)及配套视频教程(21个微课视频)等资源。
本书适合作为广大高校信息安全相关专业中软件逆向、代码安全、安全开发等课程的专业课程教材,也可以作为信息安全研究员与Android应用开发者的自学参考用书。
目录
- 基础篇
- 第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.3Jadxgui工具
- 5.4010editor工具
- 5.4.1010editor解析so文件
- 5.4.2010editor解析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使用Jadxgui分析应用
- 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本章小结
- 参考文献