Android安全技术揭秘与防范

360公司创始人董事长兼CEO 知名天使投资人周鸿祎推荐 Android系统安全专家原创精品 涵盖Android系统安全的核心技术 高 级工程师成长之路上的利器

弘德价
37.00
69.00
配送至
库存紧张,5天内发货
  • 2
弘德网图书城
店铺评分

商品评价 0.00
发货速度 0.00
售后服务 0.00
  • 热销商品
  • 热门关注
  • 商品介绍
  • 商品评价 (2)

本店支持德先用,本店欢迎德全购,本店支持弘德e卡支付,本店积分抵扣最高10%!图书店根据库房书籍保有量,按当天15:00前下单计算,发货时间1-5工作日不等。图书我国为0税点商品,以免发票邮寄中遗失,如需发票请申请电子发票,发票在发货后1~3个工作日内可在我的订单-订单详情-发票下载中自助下载。基础运费10-15元,部分地区12-19元,续件运费每本3元,下单后找客服WX13811904765改价!满1000元自动免运费。

在线客服




基本信息:


出版社: 人民邮电出版社              ISBN:9787115401663               作者:周圣韬 著

出版时间:2015-09-01                开本:小16开                                正文语种:中文


内容简介

《Android安全技术揭秘与防范》从分析Android系统的运行原理、框架和主要模块入手,着重分析了Android系统存在的安全技术问题,以及这些技术在移动设备上产生的安全问题,帮助读者了解如何静态分析Android软件,如何动态调试Android软件,如何开发出安全的App,如何使自己的系统不被盗版,以及Android漏洞、逆向工程和反汇编等核心技术。

《Android安全技术揭秘与防范》几乎每一个部分,都结合实际例子,一步步讲解,可以使读者了解App安全的问题,给开 发者一些防范技术,是一本特别实用的Android安全指南。移动设备开 发者、安全研究人员、Android应用程序开 发者和负责评估Android安全性的技术人员都可以在本书中找到必要的指导。

作者简介

周圣韬,曾任职于金山、360公司做Android开发、安全审计工作,现在为百度手机助手客户端高 级开发工程师。

目录

第1章 Android简介 1

1.1 Android的发展历史 1

1.2 Android系统进化史 1

1.2.1 Nexus系列 3

1.2.2 国产定制系统 3

1.2.3 Android的开放与安全 4

1.2.4 移动互联网的趋势 4

1.3 Android和iOS系统对比 5

1.3.1 系统架构对比 6

1.3.2 Android和iOS安全对比 6

第2章 Android地下产业链分析 8

2.1 钱从哪里来 8

2.1.1 恶意吸费 9

2.1.2 广告、恶意推广 9

2.1.3 诱骗欺诈 10

2.1.4 隐私窃取 10

2.1.5 安装包分析 10

2.2 安全的发展趋势 11

2.2.1 系统级别的杀毒 11

2.2.2 应用市场的监管 11

2.2.3 智能硬件安全 12

第3章 理解Android系统 13

3.1 Android系统的层级架构 13

3.1.1 应用层 14

3.1.2 框架层 14

3.1.3 核心库与运行环境层 14

3.1.4 Linux内核层 15

3.1.5 Android系统的分区结构 15

3.2 启动过程 16

3.2.1 Boot Loader加载阶段 17

3.2.2 加载Kernel与initrd阶段 17

3.2.3 初始化设备服务阶段 17

3.2.4 加载系统服务阶段 18

3.2.5 虚拟机初始化阶段 18

3.2.6 启动完成阶段 18

3.3 系统关键进程与服务 18

3.3.1 系统第 一个进程init详解 18

3.3.2 ADB进程 19

3.3.3 存储类守护进程Vold 20

3.3.4 进程母体Zygote 21

3.3.5 服务管理器ServiceMananger 21

3.3.6 进程复制Android Fork 22

3.3.7 进程间通信Binder机制 22

3.3.8 匿名共享内存机制Ashmem 24

3.3.9 日志服务Logger 24

3.4 APK生成 25

3.4.1 编译过程 26

3.4.2 打包过程 26

3.4.3 签名优化过程 26

3.5 系统安全执行边界 26

3.5.1 沙箱隔离机制 27

3.5.2 权限授予机制 28

3.5.3 数字签名机制 31

3.6 系统的安全结构 34

3.6.1 Android应用程序安全 34

3.6.2 主要的应用组件 34

3.6.3 四大组件模型 36

3.6.4 Android框架层 37

3.6.5 Dalvik虚拟机 38

3.7 Android 5.0(Lollipop)的安全架构 38

3.7.1 加强型内核SEAndroid 39

3.7.2 安全的锁屏 39

3.7.3 充分的加密 40

3.7.4 Android5.0安全总结 40

第4章 Root你的设备 41

4.1 获取Root权限原理 41

4.1.1 su源码分析 42

4.1.2 Root后手机对比 43

4.1.3 Root思路 43

4.1.4 Root漏洞 44

4.1.5 已经发现的Root漏洞 46

4.1.6 SuperUser分析 46

4.1.7 Root安全 48

4.2 Root的分类 48

4.2.1 临时Root 48

4.2.2 永 久Root 50

4.2.3 删除Root 52

4.2.4 免Root 52

4.3 Root之后 52

4.3.1 静默安装 53

4.3.2 删除预装 58

4.3.3 键盘监控 60

4.3.4 短信拦截与静默发送 64

4.3.5 电话监控 66

第5章 APK静态分析 69

5.1 什么是静态分析 69

5.2 常用分析利器 69

5.2.1 资源逆向工具AXMLPrinter 2 70

5.2.2 查看源码工具dex2jar、jd-GUI 70

5.2.3 APK逆向工具APKTool 71

5.2.4 Android逆向助手 71

5.2.5 反汇编工具IDA PRO 72

5.2.6 超级编辑器UltraEdit 73

5.3 认识APK文件 73

5.3.1 App的种类 73

5.3.2 反编译前结构 75

5.3.3 反编译后结构 76

5.4 分析DEX文件 78

5.4.1 认识DEX 79

5.4.2 虚拟机指令Smali简介 79

5.4.3 Smali与Java对比 79

5.4.4 Smali语法基础 81

5.4.5 常用的Smali 注入代码 82

5.5 分析SO文件 83

5.5.1 NDK开发流程 84

5.5.2 开始反汇编 87

5.5.3 尝试修改SO文件逻辑 90

5.6 收集信息定位关键代码 92

5.6.1 AndroidManifest.xml突破 92

5.6.2 特殊关键字突破 94

5.6.3 资源索引突破 94

5.7 开始篡改代码 95

5.7.1 尝试篡改逻辑 96

5.7.2 广告植入与去除 97

5.7.3 收费限制破解 101

5.7.4 应用程序汉化 102

5.7.5 篡改逻辑小结 103

第6章 ARM汇编速成 104

6.1 抽象层次 104

6.1.1 计算机体系结构 104

6.1.2 常见嵌入式处理器 105

6.1.3 Android支持处理器情况 106

6.2 逆向工程 107

6.2.1 计算机层级 107

6.2.2 汇编语言 108

6.2.3 反汇编的理解 111

6.2.4 ARM汇编语言模块的结构 111

6.2.5 简单的ARM程序 111

6.3 ARM体系结构 113

6.3.1 ARM微处理器的工作状态 113

6.3.2 ARM体系结构的存储器格式 113

6.3.3 指令长度及数据类型 114

6.3.4 处理器模式 114

6.3.5 ARM状态下寄存器组织 114

6.3.6 Thumb状态下的寄存器组织 116

6.4 ARM微处理器的指令集概述 117

6.4.1 ARM指令的助记符 118

6.4.2 程序状态寄存器 118

6.4.3 指令的条件域 120

6.4.4 ARM指令的寻址方式 121

6.5 Thumb指令及应用 123

6.5.1 Thumb指令集特点 124

6.5.2 ARM与Thumb状态切换 124

6.5.3 Thumb指令集格式 125

6.5.4 Thmub指令的十六进制值

计算 126

6.6 快速识别ARM汇编中的C/C++逻辑 127

6.6.1 识别if-else判断逻辑 127

6.6.2 识别while-do循环逻辑 129

6.6.3 识别for循环逻辑 130

6.6.4 识别switch-case分支逻辑 132

第7章 APK动态分析 135

7.1 应用体系架构 135

7.1.1 代码安全分析 135

7.1.2 组件安全分析 136

7.1.3 存储安全分析 136

7.1.4 通信安全分析 136

7.2 DDMS调试 137

7.2.1 使用Log进行逻辑跟踪 138

7.2.2 不安全的本地存储 140

7.2.3 使用TraceView进行方法跟踪 141

7.3 网络抓包 145

7.3.1 抓包工具Fiddler简介 145

7.3.2 抓包的原理 145

7.3.3 如何在Android上进行抓包 146

7.3.4 设置断点修改请求 148

7.4 使用AndBug断点调试 150

7.4.1 配置AndBug环境 150

7.4.2 AndBug常用命令 152

7.4.3 AndBug调试步骤 152

7.4.4 开始断点调试 153

7.5 使用IDA Pro进行动态调试 158

7.5.1 使用IDA动态调试原生库so 158

7.5.2 使用IDA动态调试dex 162

7.6 调试WebViewApp 164

7.6.1 Chrome插件调试 164

7.6.2 WebView已知漏洞 165

7.6.3 HTML安全 166

7.6.4 网络钓鱼 166

7.6.5 SQL注入攻击 167

第8章 动态注入技术 169

8.1 什么是Hook技术 169

8.1.1 Hook原理 170

8.1.2 Hook的种类 173

8.1.3 Hook的危害 174

8.2 常用的Hook工具 174

8.2.1 Xposed框架 174

8.2.2 CydiaSubstrate框架 176

8.2.3 ADBI/DDI框架 177

8.3 HookAndroid应用 178

8.3.1 尝试Hook系统API 179

8.3.2 Hook指定应用注入广告 181

8.3.3 App登录劫持 184

8.4 Hook原生应用程序 188

8.4.1 CydiaSubstrate框架针对Native层Hook的支持 188

8.4.2 通过JNI改变系统颜色 190

8.4.3 Hook后替换指定应用中的原生方法 193

8.4.4 使用Hook进行广告拦截 196

8.5 Hook检测/修复 198

8.5.1 Hook检测 198


精彩书摘

  6.1.2.3嵌入式DSP处理器

  DSP又称数字信号处理(Digital Signal Processing),是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件,对系统结构和指令进行了特殊设计,系统结构硬件上采用了Harvard(哈佛)结构和专用的硬件乘法器。指令为快速DSP指令(属RISC精简指令集),使其适合于对处理器运算速度要求较高的应用领域。

  目前的主要产品有Texas Instruments公司的TMS320系列、Motorola的DSP56000系列等。

  优点:大规模集成性、稳定性好,精度高,可编程性,高速性能,可嵌人性,接口和集成方便。

  缺点:成本较高,高频时钟的高频干扰,功率消耗较大等。

  6.1.2.4片上系统soc

  SoC是System—on—chip的缩略形式,中文名称为系统级芯片。它的最 大特点就是集成度高,把上边我们说到的很多重要芯片都集成到单独的一款硅芯片上。降了CPU之外,系统级芯片还包括显卡、内存、USB主控芯片、电源管理电路、无线芯片(Wi—Fi,3G,4G LTE等),在一个硅片上包含一个或者多个处理器、存储器、模拟电路模块、数,模混合信号模块以及片上可编程逻辑。

  嵌入式片上系统可以分为通用和专用两类。

  通用系列包括Siemens公司的TriCore、Motorola公司的M—Core等。

  专用SoC一般专门用于某个或者某类系统中,一般不为用户所知,如PHILIPS公司的Smart XA。

  优点:正是由于SoC芯片的高集成度以及较短的布线,它的功耗也相对低得多。而在移动领域,低功耗更是厂商所不懈追求的目标。同时把很多芯片都集成到一起,不需要单独地配置更多芯片,这样更能够有效地降低生产成本,因此使用SoC方案成本更低。

  缺点:当然SoC的最 大缺点就是缺乏灵活性。对于普通计算机,用户可以选择升级新的CPU、显卡或者升级内存容量等,但是对于你的智能手机,你却无能为力。也许在将来你可以购买不同的SoC芯片,但是像升级内存之类的事情,即使能够实现,你所花费的成本和精力也是很不值得的。

  ……


前言/序言





X27eGjZ8aH.jpg





K8YChtXEzm.jpg


好评度
100%
  • 全部评价
  • 晒图
  • 追评
  • 好评
  • 中评
  • 差评