描述
开 本: 16开纸 张: 胶版纸包 装: 平装是否套装: 否国际标准书号ISBN: 9787115401663
36个功防案例的实战演示,详细剖析Android应用的安全技术
由浅入深,全面分析了Android 中5个层级的不同攻击与防御方式
涵盖了Android系统安全的核心技术:Root安全、键盘监控、Smali代码分析、ARM体系结构与反汇编、广告植入与去除、App登录劫持、内核级Rootkit攻防、App应用加固与渗透测试等
为什么我的Android App被山寨?
为什么我的Android App被逆向?
为什么我的Android App中的广告铺天盖地?
为什么我的Android App被登录劫持?
如何加固我的Android App?
……
众多的Android 安全问题和Android的攻防技术,本书都以实例形式给出精彩解答!
《Android安全技术揭秘与防范》几乎每一个部分,都结合实际例子,一步步讲解,可以使读者了解App安全的问题,给开发者一些防范技术,是一本特别实用的Android安全指南。移动设备开发者、安全研究人员、Android应用程序开发者和负责评估Android安全性的技术人员都可以在本书中找到必要的指导。
第1章 Android简介
1.1 Android的发展历史
1.2 Android系统进化史
1.2.1 Nexus系列
1.2.2 国产定制系统
1.2.3 Android的开放与安全
1.2.4 移动互联网的趋势
1.3 Android和iOS系统对比
1.3.1 系统架构对比
1.3.2 Android和iOS安全对比
第2章 Android地下产业链分析
2.1 钱从哪里来
2.1.1 恶意吸费
2.1.2 广告、恶意推广
2.1.3 诱骗欺诈
2.1.4 隐私窃取
2.1.5 安装包分析
2.2 安全的发展趋势
2.2.1 系统级别的杀毒
2.2.2 应用市场的监管
2.2.3 智能硬件安全
第3章 理解Android系统
3.1 Android系统的层级架构
3.1.1 应用层
3.1.2 框架层
3.1.3 核心库与运行环境层
3.1.4 Linux内核层
3.1.5 Android系统的分区结构
3.2 启动过程
3.2.1 Boot Loader加载阶段
3.2.2 加载Kernel与initrd阶段
3.2.3 初始化设备服务阶段
3.2.4 加载系统服务阶段
3.2.5 虚拟机初始化阶段
3.2.6 启动完成阶段
3.3 系统关键进程与服务
3.3.1 系统**个进程init详解
3.3.2 ADB进程
3.3.3 存储类守护进程Vold
3.3.4 进程母体Zygote
3.3.5 服务管理器ServiceMananger
3.3.6 进程复制Android Fork
3.3.7 进程间通信Binder机制
3.3.8 匿名共享内存机制Ashmem
3.3.9 日志服务Logger
3.4 APK生成
3.4.1 编译过程
3.4.2 打包过程
3.4.3 签名优化过程
3.5 系统安全执行边界
3.5.1 沙箱隔离机制
3.5.2 权限授予机制
3.5.3 数字签名机制
3.6 系统的安全结构
3.6.1 Android应用程序安全
3.6.2 主要的应用组件
3.6.3 四大组件模型
3.6.4 Android框架层
3.6.5 Dalvik虚拟机
3.7 Android 5.0(Lollipop)的安全架构
3.7.1 加强型内核SEAndroid
3.7.2 安全的锁屏
3.7.3 充分的加密
3.7.4 Android5.0安全总结
第4章 Root你的设备
4.1 获取Root权限原理
4.1.1 su源码分析
4.1.2 Root后手机对比
4.1.3 Root思路
4.1.4 Root漏洞
4.1.5 已经发现的Root漏洞
4.1.6 SuperUser分析
4.1.7 Root安全
4.2 Root的分类
4.2.1 临时Root
4.2.2 永久Root
4.2.3 删除Root
4.2.4 免Root
4.3 Root之后
4.3.1 静默安装
4.3.2 删除预装
4.3.3 键盘监控
4.3.4 短信拦截与静默发送
4.3.5 电话监控
第5章 APK静态分析
5.1 什么是静态分析
5.2 常用分析利器
5.2.1 资源逆向工具AXMLPrinter 2
5.2.2 查看源码工具dex2jar、jd-GUI
5.2.3 APK逆向工具APKTool
5.2.4 Android逆向助手
5.2.5 反汇编工具IDA PRO
5.2.6 超级编辑器UltraEdit
5.3 认识APK文件
5.3.1 App的种类
5.3.2 反编译前结构
5.3.3 反编译后结构
5.4 分析DEX文件
5.4.1 认识DEX
5.4.2 虚拟机指令Smali简介
5.4.3 Smali与Java对比
5.4.4 Smali语法基础
5.4.5 常用的Smali 注入代码
5.5 分析SO文件
5.5.1 NDK开发流程
5.5.2 开始反汇编
5.5.3 尝试修改SO文件逻辑
5.6 收集信息定位关键代码
5.6.1 AndroidManifest.xml突破
5.6.2 特殊关键字突破
5.6.3 资源索引突破
5.7 开始篡改代码
5.7.1 尝试篡改逻辑
5.7.2 广告植入与去除
5.7.3 收费限制破解
5.7.4 应用程序汉化
5.7.5 篡改逻辑小结
第6章 ARM汇编速成
6.1 抽象层次
6.1.1 计算机体系结构
6.1.2 常见嵌入式处理器
6.1.3 Android支持处理器情况
6.2 逆向工程
6.2.1 计算机层级
6.2.2 汇编语言
6.2.3 反汇编的理解
6.2.4 ARM汇编语言模块的结构
6.2.5 简单的ARM程序
6.3 ARM体系结构
6.3.1 ARM微处理器的工作状态
6.3.2 ARM体系结构的存储器格式
6.3.3 指令长度及数据类型
6.3.4 处理器模式
6.3.5 ARM状态下寄存器组织
6.3.6 Thumb状态下的寄存器组织
6.4 ARM微处理器的指令集概述
6.4.1 ARM指令的助记符
6.4.2 程序状态寄存器
6.4.3 指令的条件域
6.4.4 ARM指令的寻址方式
6.5 Thumb指令及应用
6.5.1 Thumb指令集特点
6.5.2 ARM与Thumb状态切换
6.5.3 Thumb指令集格式
6.5.4 Thmub指令的十六进制值
计算
6.6 快速识别ARM汇编中的C/C++逻辑
6.6.1 识别if-else判断逻辑
6.6.2 识别while-do循环逻辑
6.6.3 识别for循环逻辑
6.6.4 识别switch-case分支逻辑
第7章 APK动态分析
7.1 应用体系架构
7.1.1 代码安全分析
7.1.2 组件安全分析
7.1.3 存储安全分析
7.1.4 通信安全分析
7.2 DDMS调试
7.2.1 使用Log进行逻辑跟踪
7.2.2 不安全的本地存储
7.2.3 使用TraceView进行方法跟踪
7.3 网络抓包
7.3.1 抓包工具Fiddler简介
7.3.2 抓包的原理
7.3.3 如何在Android上进行抓包
7.3.4 设置断点修改请求
7.4 使用AndBug断点调试
7.4.1 配置AndBug环境
7.4.2 AndBug常用命令
7.4.3 AndBug调试步骤
7.4.4 开始断点调试
7.5 使用IDA Pro进行动态调试
7.5.1 使用IDA动态调试原生库so
7.5.2 使用IDA动态调试dex
7.6 调试WebViewApp
7.6.1 Chrome插件调试
7.6.2 WebView已知漏洞
7.6.3 HTML安全
7.6.4 网络钓鱼
7.6.5 SQL注入攻击
第8章 动态注入技术
8.1 什么是Hook技术
8.1.1 Hook原理
8.1.2 Hook的种类
8.1.3 Hook的危害
8.2 常用的Hook工具
8.2.1 Xposed框架
8.2.2 CydiaSubstrate框架
8.2.3 ADBI/DDI框架
8.3 HookAndroid应用
8.3.1 尝试Hook系统API
8.3.2 Hook指定应用注入广告
8.3.3 App登录劫持
8.4 Hook原生应用程序
8.4.1 CydiaSubstrate框架针对Native层Hook的支持
8.4.2 通过JNI改变系统颜色
8.4.3 Hook后替换指定应用中的原生方法
8.4.4 使用Hook进行广告拦截
8.5 Hook检测/修复
8.5.1 Hook检测
——360公司创始人董事长兼CEO、知名天使投资人,周鸿祎
评论
还没有评论。