图书介绍

Android系统安全和反编译实战【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Android系统安全和反编译实战
  • 刘云,朱桂英编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302401285
  • 出版时间:2015
  • 标注页数:672页
  • 文件大小:104MB
  • 文件页数:686页
  • 主题词:移动终端-应用程序-程序设计-安全技术

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Android系统安全和反编译实战PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1篇 基础知识篇2

第1章 Android系统介绍2

1.1 纵览智能设备系统2

1.1.1 昨日皇者——Symbian(塞班)2

1.1.2 高贵华丽——iOS2

1.1.3 全新面貌——Windows Phone3

1.1.4 高端商务——BlackBerry OS(黑莓)4

1.1.5 本书的主角——Android5

1.2 分析Android成功的秘诀6

1.2.1 强有力的业界支持6

1.2.2 研发阵容强大6

1.2.3 为开发人员“精心定制”6

1.2.4 开源7

1.3 剖析Android系统架构7

1.3.1 底层操作系统层(OS)8

1.3.2 各种库(Libraries)和Android运行环境(RunTime)8

1.3.3 Application Framework(应用程序框架)9

1.3.4 顶层应用程序(Application)9

1.4 核心组件9

1.4.1 Activity界面9

1.4.2 Intent和Intent Filters10

1.4.3 Service服务10

1.4.4 Broadcast Receiver发送广播11

1.4.5 用Content Provider存储数据11

1.5 进程和线程11

1.5.1 什么是进程12

1.5.2 什么是线程12

第2章 搭建Android开发环境13

2.1 准备工作13

2.2 安装JDK13

2.3 获取并安装Eclipse和Android SDK16

2.4 安装ADT20

2.5 验证设置21

2.5.1 设定Android SDK Home22

2.5.2 验证开发环境22

2.6 Android虚拟设备(AVD)23

2.6.1 创建AVD24

2.6.2 启动AVD26

2.6.3 启动AVD模拟器的基本流程26

2.7 分析Android应用工程文件27

2.7.1 src程序目录28

2.7.2 设置文件AndroidManifest.xml28

2.7.3 常量定义文件29

2.7.4 UI布局文件29

第2篇 系统安全架构篇32

第3章 Android系统的安全机制32

3.1 Android安全机制概述32

3.1.1 Android的安全机制模型33

3.1.2 Android具有的权限33

3.1.3 Android的组件模型(Component Model)34

3.1.4 Android安全访问设置34

3.2 Linux系统的安全机制35

3.2.1 root用户、伪用户和普通用户35

3.2.2 超级用户(权限)36

3.2.3 文件权限36

3.2.4 使用su命令临时切换用户身份38

3.2.5 进程39

3.3 沙箱模型41

3.3.1 Java中的沙箱模型42

3.3.2 Android系统中的沙箱机制42

3.4 Android应用程序的安全机制43

3.4.1 AndroidManifest.xml文件的权限机制43

3.4.2 发布签名机制43

3.5 分区加载机制44

第4章 Android通信安全机制46

4.1 进程和线程安全46

4.1.1 进程安全46

4.1.2 线程安全47

4.1.3 实现线程安全方法47

4.2 远程过程调用机制(RPC)48

4.3 Binder安全机制基础48

4.3.1 Binder中的安全策略49

4.3.2 Binder机制更加安全49

4.3.3 Binder安全机制的必要性50

4.4 Binder机制架构基础50

4.5 Service Manager管理Binder机制的安全51

4.5.1 入口函数52

4.5.2 操作设备文件53

4.5.3 Binder驱动程序函数54

4.5.4 红黑树节点结构体55

4.5.5 管理内存映射地址空间58

4.5.6 保护进程61

4.5.7 获得线程信息64

4.5.8 在循环中等待Client发送请求66

4.5.9 Service Manager服务保护进程68

4.6 MediaServer安全通信机制分析70

4.6.1 MediaServer的入口函数71

4.6.2 调用ProcessState71

4.6.3 返回IServiceManager对象73

4.6.4 注册MediaPlayerService80

4.6.5 StartThread Pool和joinThreadPool92

第5章 内存安全和优化95

5.1 Ashmem系统详解95

5.1.1 基础数据结构95

5.1.2 初始化处理96

5.1.3 打开匿名共享内存设备文件98

5.1.4 内存映射100

5.1.5 实现读写操作101

5.1.6 锁定和解锁机制103

5.1.7 回收内存块108

5.2 内存优化机制详解109

5.2.1 sp和wp简析109

5.2.2 智能指针基础111

5.2.3 轻量级指针112

5.2.4 强指针115

5.2.5 弱指针128

5.3 Android内存系统的安全机制分析132

5.3.1 Ashmem匿名共享内存的原理132

5.3.2 使用Low Memory Killer机制实现安全和高效133

5.3.3 Low Memory Killer机制和OOM的对比133

5.4 常用的垃圾收集算法134

5.4.1 引用计数算法134

5.4.2 Mark Sweep算法134

5.4.3 垃圾回收的时机136

5.5 Android的内存泄漏137

5.5.1 什么是内存泄漏138

5.5.2 为什么会发生内存泄漏138

5.5.3 shallow size、 retained size140

5.5.4 查看Android内存泄漏的工具——MAT140

5.5.5 查看Android内存泄漏的方法143

5.5.6 Android (Java)中常见的容易引起内存泄漏的不良代码145

5.5.7 使用MAT根据heap dump分析内存泄漏的根源146

第6章 文件加密153

6.1 Dmcrypt加密机制介绍153

6.1.1 Linux密码管理机制153

6.1.2 Dmcrypt加密机制分析158

6.1.3 使用dmcrypt机制构建加密文件系统166

6.2 Vold机制介绍168

6.2.1 Vold机制基础169

6.2.2 Vold的主要功能173

6.2.3 Vold处理SD/USB的流程179

6.2.4 Vold的加密机制205

第7章 电话系统的安全机制207

7.1 Android电话系统详解207

7.1.1 电话系统简介207

7.1.2 电话系统结构208

7.1.3 驱动程序介绍210

7.1.4 RIL接口212

7.1.5 分析电话系统的实现流程215

7.2 分析Android音频系统220

7.2.1 音频系统结构220

7.2.2 分析音频系统的层次221

7.3 Android电话系统的安全机制229

7.3.1 防止电话监听229

7.3.2 VoIP语音编码和安全性分析233

7.3.3 SIP协议控制236

7.3.4 在Android平台实现SIP协议栈239

7.3.5 通话加密技术241

第8章 短信系统的安全机制242

8.1 Android短信系统详解242

8.1.1 短信系统的主界面242

8.1.2 发送普通短信的过程245

8.1.3 发送彩信的过程257

8.1.4 接收短信267

8.2 短信加密机制的设计模式273

8.2.1 短信编码设计模式273

8.2.2 DES短信息加密/解密算法273

第9章 Android应用组件的安全机制276

9.1 设置组件的可访问性276

9.2 Intent组件的安全机制276

9.2.1 Intent和IntentFilter简介276

9.2.2 Intent组件的通信安全机制277

9.2.3 过滤器的安全机制278

9.3 Activity组件的安全机制279

9.3.1 Activity劫持漏洞280

9.3.2 针对Activity的安全建议280

9.4 Content Provider组件的权限机制281

9.4.1 Content Provider在应用程序中的架构281

9.4.2 提供不同的权限机制283

9.5 Service组件的安全机制284

9.5.1 启动Service284

9.5.2 4种操作Service的权限296

9.6 Broadcast Receiver组件的安全机制296

9.6.1 Broadcast基础297

9.6.2 intent描述指示298

9.6.3 传递广播信息298

9.6.4 封装传递299

9.6.5 处理发送请求300

9.6.6 查找广播接收者300

9.6.7 处理广播信息304

9.6.8 检查权限313

第3篇 安全攻防篇318

第10章 编写安全的应用程序318

10.1 开发第一个Android应用程序318

10.1.1 新建Android工程318

10.1.2 编写代码和代码分析319

10.1.3 调试320

10.1.4 运行项目321

10.2 声明不同的权限322

10.2.1 AndroidManifest.xml文件基础322

10.2.2 声明获取不同的权限323

10.2.3 自定义一个权限327

10.3 发布Android程序生成APK327

10.3.1 什么是APK文件328

10.3.2 申请会员329

10.3.3 生成签名文件331

10.3.4 使用签名文件336

10.3.5 发布到市场339

第11章 APK的自我保护机制340

11.1 分析DEX文件的结构340

11.1.1 DEX文件的基本结构340

11.1.2 隐藏DEX中的特定方法343

11.2 完整性校验344

11.2.1 DEX完整性校验345

11.2.2 APK完整性校验345

11.3 Java反射346

11.4 动态加载347

11.5 字符串处理348

11.6 代码乱序操作349

11.7 模拟器检测351

11.8 APK伪加密353

11.9 调试器检测354

11.10 代码混淆355

11.10.1 字符串加密355

11.10.2 assets加密356

第12章 常用的反编译工具357

12.1 反编译基础357

12.1.1 使用dex2jar和jdgui.exe进行反编译357

12.1.2 使用Smali指令进行反编译359

12.2 防止APK文件被反编译360

12.3 IDA Pro反编译工具详解361

12.3.1 IDA Pro介绍361

12.3.2 常用的快捷键361

12.4 其他常用的反编译工具362

12.4.1 ApkDec介绍362

12.4.2 jdgui.exe介绍363

12.4.3 APKTool详解364

12.4.4 APK Multi-Tool详解365

12.5 Android NDK367

12.5.1 Android NDK介绍367

12.5.2 使用Android NDK367

12.6 Smali语法介绍369

12.6.1 Smali简介369

12.6.2 Smali语法基础371

第13章 dex2jar、 jdgui.exe和Apktool工具反编译实战374

13.1 反编译APK文件374

13.2 分析反编译后的文件376

13.2.1 分析主Activity376

13.2.2 分析类377

13.2.3 定位程序的核心代码377

13.3 分析Smali文件377

13.3.1 一段演示文件378

13.3.2 分析演示文件385

13.4 分析内部类387

13.5 分析监听器392

13.5.1 Android监听器介绍392

13.5.2 分析反编译后的监听器393

13.6 分析注解类394

13.7 Android独有的自动类396

第14章 IDA Pro实战——反编译和脱壳398

14.1 使用IDA Pro工具反编译Android文件398

14.2 脱壳实战401

14.2.1 在工作窗口中打开401

14.2.2 使用IDC静态分析402

14.2.3 静态脱壳404

第15章 反编译实战——Smali文件分析421

15.1 分析循环语句421

15.1.1 创建Android工程421

15.1.2 分析Smali文件中的循环语句422

15.2 分析switch语句435

15.2.1 创建Android工程435

15.2.2 分析Smali文件中的switch语句436

第16章 ARM汇编逆向分析444

16.1 ARM处理器概述444

16.1.1 ARM基础444

16.1.2 ARM处理器的特点445

16.2 Android和ARM445

16.2.1 Android支持处理器445

16.2.2 ARM是Android的首选446

16.3 ARM的指令系统446

16.3.1 ARM指令集概述447

16.3.2 ARM指令的寻址方式448

16.3.3 ARM指令集450

16.4 ARM程序设计基础463

16.4.1 ARM汇编器所支持的伪指令463

16.4.2 汇编语言的语句格式472

16.4.3 汇编语言的程序结构475

16.5 实战演练479

第17章 加壳技术详解485

17.1 常用的APK保护技术485

17.2 什么是加壳486

17.3 Android加壳的原理487

17.3.1 解壳数据位于解壳程序文件尾部487

17.3.2 解壳数据位于解壳程序文件头499

17.4 第三方工具——APK Protect500

17.4.1 APK Protect的功能500

17.4.2 使用APK Protect500

17.4.3 实战演练——APK Protect加密分析501

17.5 第三方工具——爱加密511

第18章 动态分析和调试513

18.1 常用的动态分析行为513

18.2 Android中的动态调试513

18.3 DDMS动态调试515

18.3.1 DDMS界面介绍515

18.3.2 从模拟器导出文件520

18.3.3 使用DDMS获取内存数据521

18.3.4 Logcat动态调试523

18.4 MAT动态调试524

18.5 实战演练——IDA Pro动态调试527

18.5.1 分析函数JNI OnLoad()528

18.5.2 分析Java com_ apkprotect Init532

第19章 常见病毒分析550

19.1 常见病毒的入侵方式550

19.2 OBAD木马551

19.2.1 感染过程分析551

19.2.2 360分析报告552

19.2.3 Android的设备管理器漏洞554

19.2.4 分析OBAD557

19.3 “隐身大盗二代”木马561

19.3.1 案例介绍562

19.3.2 分析木马562

19.4 广告病毒Android-Trojan/Midown568

19.4.1 米迪广告平台介绍568

19.4.2 分析Android-Trojan/Midown569

第20章 常见漏洞分析575

20.1 Android漏洞分析报告575

20.2 fakesms漏洞577

20.3 签名验证漏洞579

20.3.1 Master Key漏洞介绍579

20.3.2 ZIP格式的文件结构580

20.3.3 分析Master Key漏洞582

20.3.4 #9695860漏洞585

20.3.5 LBE手机安全大师对#9695860漏洞的修复590

第4篇 综合实战篇596

第21章 网络防火墙系统596

21.1 系统需求分析596

21.2 编写布局文件597

21.3 编写主程序文件599

21.3.1 主Activity文件599

21.3.2 帮助Activity文件610

21.3.3 公共库函数文件611

21.3.4 系统广播文件621

21.3.5 登录验证622

21.3.6 打开/关闭某一个实施控件623

第22章 跟踪定位系统627

22.1 背景介绍627

22.2 系统模块架构628

22.3 实现系统主界面629

22.3.1 实现UI布局文件629

22.3.2 处理登录数据631

22.4 系统设置界面632

22.4.1 设置主界面632

22.4.2 系统设置二级界面636

22.4.3 添加联系人643

22.4.4 邮箱设置646

22.4.5 系统数据操作647

22.5 动画提示界面655

22.5.1 实现界面UI布局655

22.5.2 显示不同的动画提示信息656

22.6 激活定位跟踪功能659

22.6.1 实现UI界面布局659

22.6.2 实现定位跟踪660

22.6.3 发送求救邮件666

22.6.4 位置监听668

22.6.5 发送求救短信669

22.6.6 发送信息到服务器网站670

热门推荐