Android系统安全和反编译实战PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:杨峻编著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2015
- ISBN:9787115393036
- 页数:529 页
第1章 Android技术概述 1
1.1 智能手机系统介绍 1
1.2 搭建Android应用开发环境 2
1.2.1 安装Android SDK的系统要求 2
1.2.2 安装JDK 2
1.2.3 获取并安装Eclipse和Android SDK 5
1.2.4 安装ADT 7
1.2.5 设定Android SDK Home 8
1.2.6 验证开发环境 9
1.2.7 创建Android虚拟设备(AVD) 9
1.2.8 启动AVD模拟器 10
1.2.9 解决搭建环境过程中的常见问题 12
第2章 Android技术核心框架分析 15
2.1 简析Android安装文件 15
2.1.1 Android SDK目录结构 15
2.1.2 android jar及内部结构 16
2.1.3 阅读SDK帮助文档 16
2.1.4 常用的SDK工具 17
2.2 演示官方实例 19
2.3 剖析Android系统架构 23
2.3.1 Android体系结构介绍 23
2.3.2 Android应用工程文件组成 25
2.4 简述五大组件 27
2.4.1 用Activity来表现界面 27
2.4.2 用Intent和Intent Filters实现切换 28
2.4.3 Service为你服务 28
2.4.4 用Broadcast Intent/Receiver发送广播 29
2.4.5 用Content Provider存储数据 29
2.5 进程和线程 29
2.5.1 先看进程 29
2.5.2 再看线程 30
2.5.3 应用程序的生命周期 30
第3章 获取并编译源码 33
3.1 在Linux系统中获取Android源码 33
3.2 在Windows平台获取Android源码 34
3.3 分析Android源码结构 36
3.3.1 应用程序 38
3.3.2 应用程序框架 39
3.3.3 系统服务 39
3.3.4 系统程序库 41
3.3.5 系统运行库 44
3.3.6 硬件抽象层 44
3.4 编译源码 45
3.4.1 搭建编译环境 46
3.4.2 开始编译 46
3.4.3 在模拟器中运行 47
3.4.4 常见的错误分析 48
3.4.5 实践演练——演示两种编译Android程序的方法 49
3.5 编译Android Kernel 52
3.5.1 获取Goldfish内核代码 52
3.5.2 获取MSM内核代码 55
3.5.3 获取OMAP内核代码 55
3.5.4 编译Android的Linux内核 55
3.6 编译源码生成SDK 57
第4章 Android系统的安全机制 61
4.1 Android安全机制概述 61
4.1.1 Android的安全机制模型 61
4.1.2 Android的安全框架概述 62
4.2 分析Linux系统的安全机制 63
4.2.1 Linux用户权限基础 63
4.2.2 进程 68
4.3 分析Android系统的安全机制 70
4.3.1 沙箱模型介绍 70
4.3.2 应用程序的安全机制 72
4.3.3 分区加载机制 73
第5章 内存安全机制——匿名共享内存系统 74
5.1 分析Ashmem驱动程序 74
5.1.1 基础数据结构 74
5.1.2 初始化处理 75
5.1.3 打开匿名共享内存设备文件 76
5.1.4 内存映射 78
5.1.5 实现读写操作 79
5.1.6 锁定和解锁 81
5.1.7 回收内存块 86
5.2 分析C++访问接口层 87
5.2.1 接口MemoryBase 87
5.2.2 客户端实现 90
5.2.3 接口MemoryBase 94
5.3 分析Java访问接口层 97
5.4 内存优化机制 100
5.4.1 sp和Wp简析 100
5.4.2 详解智能指针 102
5.5 Android内存系统的安全机制分析 118
5.5.1 Ashmem匿名共享内存的机理 119
5.5.2 使用Low Memory Killer机制实现安全和高效 119
第6章 Binder通信安全机制(上) 121
6.1 Binder机制基础 121
6.1.1 选择Binder机制的原因——简洁快速、低耗内存、更加安全 121
6.1.2 Binder安全机制的必要性 122
6.1.3 Android的进程间通信(IPC)机制Binder 122
6.1.4 Service Manager是Binder机制的上下文管理者 123
6.1.5 Service Manager服务 137
6.2 分析Binder驱动程序 140
6.2.1 分析数据结构 140
6.2.2 分析设备初始化 150
6.2.3 打开Binder设备文件 151
6.2.4 内存映射 152
6.2.5 释放物理页面 156
6.2.6 分配内核缓冲区 157
6.2.7 释放内核缓冲区 158
6.2.8 查询内核缓冲区 160
第7章 Binder通信安全机制(下) 162
7.1 Binder封装库 162
7.1.1 类BBinder 163
7.1.2 类BpRefBase 165
7.1.3 类IPCThreadState 166
7.2 初始化Java层Binder框架 168
7.3 分析MediaServer的通信机制 170
7.3.1 MediaServer的入口函数 170
7.3.2 ProcessState 171
7.3.3 defaultServiceManager 173
7.3.4 注册MediaPlayerService 179
7.3.5 分析StartThread Pool和join Thread Pool 188
7.4 总结进程通信机制的安全性 190
7.4.1 进程先线程安全 190
7.4.2 远程过程调用机制(RPC) 191
7.4.3 实现线程安全方法 192
7.4.4 Binder中的安全策略 193
第8章 Android虚拟机基础 194
8.1 Dalvik VM和JVM的差异 194
8.2 Dalvik虚拟机的主要特征 195
8.3 Dalvik VM架构 196
8.3.1 Dalvik虚拟机的代码结构 196
8.3.2 dx工具 198
8.3.3 Dalvik VM的进程管理 198
8.3.4 Android的初始化流程 198
8.4 Dalvik VM控制VM命令详解 199
8.4.1 基本命令 199
8.4.2 扩展的JNI检测 199
8.4.3 断言 200
8.4.4 字节码校验和优化 200
8.4.5 Dalvik VM的运行模式 201
8.4.6 死锁预测 201
8.4.7 dump堆栈追踪 202
8.4.8 dex文件和校验 202
8.4.9 产生标志位 202
8.5 Dalvik VM进程管理 202
8.5.1 Zygote基础 202
8.5.2 Dalvik的进程模型 211
8.5.3 Dalvik的进程通信 215
8.6 Zygote(孕育)进程 218
8.6.1 Zygote基础 218
8.6.2 分析Zygote的启动过程 219
第9章 Dalvik VM的运作流程 233
9.1 Dalvik VM相关的可执行程序 233
9.1.1 dalvikvm、 dvz和app_rocess简介 233
9.1.2 对比app_process和dalvikvm的执行过程 234
9.2 初始化Dalvik VM 236
9.2.1 开始虚拟机的准备工作 236
9.2.2 初始化跟踪显示系统 237
9.2.3 初始化垃圾回收器 237
9.2.4 初始化线程列表和主线程环境参数 237
9.2.5 分配内部操作方法的表格内存 238
9.2.6 初始化虚拟机的指令码相关的内容 238
9.2.7 分配指令寄存器状态的内存 239
9.2.8 分配指令寄存器状态的内存和最基本用的Java库 239
9.2.9 初始化使用的Java类库线程类 240
9.2.10 初始化虚拟机使用的异常Java类库 241
9.2.11 初始化其他对象 242
9.3 启动Zygote 250
9.3.1 在init. rc中配置zygote启动参数 250
9.3.2 启动Socket服务端口 250
9.3.3 加载preload-classes 251
9.3.4 加载preload-resources 252
9.4 启动SystemServer进程 253
9.4.1 启动各种系统服务线程 253
9.4.2 启动第一个Activity 255
9.5 加载class类文件 255
9.5.1 DexFile在内存中的映射 255
9.5.2 ClassObject———Class在加载后的表现形式 257
9.5.3 加载Class并生成相应ClassObject的函数 257
9.5.4 加载基本类库文件 258
9.5.5 加载用户类文件 258
第10章 DEX文件详解 259
10.1 DEX文件介绍 259
10.2 DEX文件的格式 259
10.2.1 map_ list 260
10.2.2 string id_item 262
10.2.3 type_id_item 266
10.2.4 proto_ id _item 266
10.2.5 ield_id_ item 267
10.2.6 method_ id _item 267
10.2.7 class_ def _item 268
10.3 DEX文件结构 271
10.3.1 文件头(File Header) 271
10.3.2 魔数字段 272
10.3.3 检验码字段 272
10.3.4 SHA-1签名字段 274
10.3.5 map off字段 274
10.3.6 string ids size和off字段 275
10.4 DEXFile接口详解 277
10.4.1 构造函数 277
10.4.2 公共方法 278
10.5 DEX和动态加载类机制 280
10.5.1 类加载机制 280
10.5.2 具体加载 281
10.5.3 代码加密 283
10.6 动态加载jar和DEX 283
第11章 编写安全的应用程序 284
11.1 开发第一个Android应用程序 284
11.1.1 新创建Android工程 284
11.1.2 编写代码和代码分析 284
11.1.3 调试 285
11.1.4 运行项目 287
11.2 声明不同的权限 287
11.2.1 AndroidManifest. xml文件基础 288
11.2.2 声明获取不同的权限 288
11.2.3 自定义一个权限 292
11.3 发布Android程序生成APK 293
11.3.1 什么是APK文件 293
11.3.2 申请会员 294
11.3.3 生成签名文件 296
11.3.4 使用签名文件 301
11.3.5 发布到市场 303
11.4 反编译APK文件 303
11.4.1 使用dex2jar和jdgui.exe进行反编译 303
11.4.2 Smali指令破解 305
11.5 防止APK文件被反编译 306
11.6 操作实战——演示反编译和编译的完整过程 306
11.6.1 分析反编译后的文件 307
11.6.2 分析smali文件 309
11.6.3 分析内部类 316
11.6.4 分析监听器 321
11.6.5 分析注解类 322
11.6.6 Android独有的自动类 324
11.7 Android应用组件的安全机制 325
11.7.1 设置组件的可访问性 325
11.7.2 Intent组件的安全机制 325
11.7.3 Activity组件的安全机制 329
11.7.4 Content Provider组件的权限机制 330
11.7.5 Service组件的安全机制 332
11.7.6 Broadcast Receiver组件的安全机制 333
第12章 应用安全策略 334
12.1 应用程序安装安全策略 334
12.1.1 Android应用程序权限的背景 334
12.1.2 Android应用程序的权限 334
12.1.3 控制Android应用权限的工具 336
12.2 Android浏览器安全策略 338
12.2.1 WebKit源码分析 338
12.2.2 C/C++层框架 342
12.2.3 分析WebKit的操作过程 344
12.2.4 WebView讲解 347
12.2.5 Android浏览器的安全漏洞分析 349
12.3 数据库和SQL注入 350
12.3.1 Android系统存储数据的方式 351
12.3.2 恶意获取存储卡信息 354
12.3.3 SQLite注入漏洞分析 354
12.4 软件更新安全策略 357
12.4.1 设置软件实现自动更新 358
12.4.2 自动更新的安全隐患 365
第13章 文件加密 366
13.1 Dmcrypt加密机制介绍 366
13.1.1 Linux密码管理机制 366
13.1.2 Dmcrypt加密机制分析 371
13.1.3 使用dmcrypt机制构建加密文件系统 378
13.2 Vold机制介绍 380
13.2.1 Vold机制基础 380
13.2.2 Vold的主要功能 384
13.2.3 Vold处理SD/USB的流程 389
13.2.4 Vold的加密机制 410
第14章 电话系统的安全机制 412
14.1 Android电话系统详解 412
14.1.1 电话系统简介 412
14.1.2 电话系统结构 413
14.1.3 需要移植的内容 415
14.1.4 驱动程序介绍 416
14.1.5 RIL接口 417
14.1.6 分析电话系统的实现流程 420
14.2 分析Andorid音频系统 425
14.2.1 音频系统结构 425
14.2.2 分析音频系统的层次 427
14.3 电话系统的安全机制 433
14.3.1 防止电话监听 433
14.3.2 VoIP语音编码和安全性分析 437
14.3.3 SIP协议控制 440
14.3.4 在Android平台实现SIP协议栈 443
14.3.5 通话加密技术 444
第15章 短信系统的安全机制 446
15.1 Android短信系统详解 446
15.1.1 短信系统的主界面 446
15.1.2 发送普通短信的过程 449
15.1.3 发送彩信的过程 459
15.1.4 接收短信 467
15.2 短信加密机制的设计模式 471
15.2.1 短信编码设计模式 472
15.2.2 DES短信息加密解密算法 472
第16章 网络防火墙系统实现 474
16.1 防火墙系统需求分析 474
16.2 编写布局文件 475
16.3 编写主程序文件 476
16.3.1 主Activity文件 477
16.3.2 帮助Activity文件 485
16.3.3 公共库函数文件 486
16.3.4 系统广播文件 494
16.3.5 登录验证 495
16.3.6 打开/关闭某一个实施控件 496
第17章 文件加密系统实现 499
17.1 文件加密系统功能模块介绍 499
17.2 系统主界面 499
17.3 文件加密模块 502
17.3.1 选择加密文件 502
17.3.2 加密文件 503
17.4 文件解密模块 507
17.4.1 选择解密文件 507
17.4.2 解密文件 507
17.5 数字签名模块 511
17.5.1 数字签名主界面 511
17.5.2 设置数字签名 512
17.5.3 签名验证 516
17.5.4 生成密钥 518
17.6 报文鉴别模块 520
17.6.1 报文鉴别主界面 520
17.6.2 生成鉴别码 521
17.6.3 鉴别文件 524
17.7 编辑文件模块 527
- 《管理信息系统习题集》郭晓军 2016
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《系统解剖学速记》阿虎医考研究组编 2019
- 《慢性呼吸系统疾病物理治疗工作手册》(荷)瑞克·考斯林克(RikGosselink) 2020
- 《社会文化系统中的翻译》姜秋霞,杨正军 2019
- 《中国生态系统定位观测与研究数据集 森林生态系统卷 云南西双版纳》邓晓保·唐建维 2010
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019