新書推薦:
《
股市趋势技术分析(原书第11版)
》
售價:HK$
227.7
《
汉匈战争全史
》
售價:HK$
102.4
《
恶的哲学研究(社会思想丛书)
》
售價:HK$
109.8
《
不止江湖
》
售價:HK$
101.2
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
158.7
《
双城史
》
售價:HK$
110.9
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:HK$
57.3
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:HK$
51.8
|
編輯推薦: |
360公司创始人董事长兼CEO、知名天使投资人,周鸿祎推荐
36个功防案例的实战演示,详细剖析Android应用的安全技术
由浅入深,全面分析了Android 中5个层级的不同攻击与防御方式
涵盖了Android系统安全的核心技术:Root安全、键盘监控、Smali代码分析、ARM体系结构与反汇编、广告植入与去除、App登录劫持、内核级Rootkit攻防、App应用加固与渗透测试等
为什么我的Android App被山寨?
为什么我的Android App被逆向?
为什么我的Android App中的广告铺天盖地?
为什么我的Android App被登录劫持?
如何加固我的Android App?
……
众多的Android 安全问题和Android的攻防技术,本书都以实例形式给出精彩解答!
|
內容簡介: |
《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 存储类守护进程Vold20
3.3.4 进程母体Zygote21
3.3.5 服务管理器ServiceMananger21
3.3.6 进程复制Android Fork22
3.3.7 进程间通信Binder机制22
3.3.8 匿名共享内存机制Ashmem24
3.3.9 日志服务Logger24
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 加强型内核SEAndroid39
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 临时Root48
4.2.2 永久Root50
4.2.3 删除Root52
4.2.4 免Root52
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 270
5.2.2 查看源码工具dex2jar、jd-GUI70
5.2.3 APK逆向工具APKTool71
5.2.4 Android逆向助手71
5.2.5 反汇编工具IDA PRO72
5.2.6 超级编辑器UltraEdit73
5.3 认识APK文件73
5.3.1 App的种类73
5.3.2 反编译前结构75
5.3.3 反编译后结构76
5.4 分析DEX文件78
5.4.1 认识DEX79
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汇编中的CC++逻辑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动态调试原生库so158
7.5.2 使用IDA动态调试dex162
7.6 调试WebViewApp164
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 ADBIDDI框架177
8.3 HookAndroid应用178
8.3.1 尝试Hook系统API179
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
|
|