Android软件安全与逆向分析pdf完整免费版|百度网盘下载

时间: 2022-05-06 08:20:11  32 Android Android 逆向分析

编者评语:Android 软件安全与逆向分析 pdf

本书逐步讲解Android系统的软件安全、逆向分析和加解密技术。包括Android软件逆向分析和系统安全的必备知识和概念,有兴趣的请下载

简介

本书逐步讲解Android系统的软件安全、逆向分析和加解密技术。包括Android软件逆向分析和系统安全的必备知识和概念,如何对Android软件进行静态分析,

如何动态调试Android软件,Android软件破解与反破解技术探讨,Android典型病毒综合解析。

本书适合所有Android应用开发者、Android系统开发工程师、Android系统安全工作者阅读和学习。

相关内容部分预览

编辑推荐

每个 Android 开发者的必备书籍!在Android平台上,我们面临着诸多威胁!
2013 年超过 1800 万台 Android 设备受到某种形式的恶意软件攻击。
恶意代码和病毒数量呈指数级增长;
应用软件和数字内容的版权不断受到侵犯;< br> 软件破解、篡改、修改植入广告库、应用内支付破解等屡见不鲜;
软件本身的安全漏洞在国内外互联网公司的产品中频频出现;
数据泄露、账号被盗等潜在风险令人担忧;
官方系统、第三方定制系统及预装系统安装的软件 漏洞不断被发现。
主动出击,避免威胁,你应该知道真相!
安全技术几乎总是双刃剑,它们可以帮助我们开发更有效的保护技术,并且几乎肯定会被攻击者学习和参考。这里的问题是,第一次大规模泄露大量安全技术,

它会导致广泛的模仿和学习,导致更多的攻击吗?在这个问题上,安全界一直存在争议。这是任何具有里程碑意义的安全书籍都无法回避的话题。
在“信息安全工程”中,罗斯·安德森说,“虽然一些坏人会从这样的书中受益,但他们中的大多数人已经知道其中的技巧,而好人会受益更多。”
本书正是基于对这一概念的认同。

编辑字词

每本书生来就有一些值得记住的东西。在这本书的出版过程中,我印象深刻的有三点:
1、作者冯胜强递给我的样稿时,他粗犷不规范的写作格式和读起来不太流畅的语言表达了我的耐心(或者可能有点耐心?)

我在QQ上截了个图,详细告诉他格式有哪些部分被他忽略了,哪些部分不够清楚。
我说完,他说他会仔细修改,再发给1、但老实说,我没想到他会一口气弄好格式,因为对于一次性作者来说,几乎从来没有这样的情况。

我做好了继续执教第 3 和第 4 节课的心理准备。让我没想到的是,几天后他第二次交上来的手稿,还蛮帅的,让我有些不敢相信自己的眼睛。格式规范美观,语言流畅清晰。

很难相信这是同一个人的作品,相隔几天。他告诉我,他一个字一个字地阅读和修改每句话。
第二,他很少能按时保质保量地完成稿件。对于作者来说,无论水平高低,大多擅长做一件事——拖稿,而策划编辑不得不被迫做另一件事——催稿。

但冯胜强用实际行动打破了这个魔咒。他努力工作,在合同规定的期限内按时交付了完整的草稿。作为一个对作者拖稿一点都不意外的策划编辑,就算不叫老泪,也是感慨万千。
但换个角度来看,那些完全可以把合同交付期当成一无是处的作者,实在是不容小觑。做这件事需要多么强大的心理素质,所以冷静地过了最后期限。真的很混乱。
第三,冯胜强在整个写作过程中谈及技术时所表现出的热情、专注和乐观。我一直相信,如果一个作者在他所做的事情中没有乐趣和快乐,

那么这样的作者写的不值得一看。好的内容就像好的食材,那种激情和乐趣就是烹饪的方式。
现在,这本书已经打开了,希望你会喜欢。
图书策划编辑陈兵
2013年1月15日

简介

《Android软件安全与逆向分析》逐步讲解Android系统的软件安全、逆向分析和加解密技术。包括Android软件逆向分析和系统安全的必要知识和概念,

如何静态分析Android软件,如何动态调试Android软件,Android软件破解与反破解技术探讨,Android典型病毒综合分析。实用性强。缺乏可操作性,

这是现有关于 Android 安全性的论文、白皮书和技术文章中最大的问题之一。很多人看完后可能对内容有了一些概念,却不知从何说起。本书几乎每个部分都使用了实例,

有关如何操作的分步说明。时效性强。在写作的同时,作者继续关注行业的新发展。近期发布的 Santoku 虚拟机、APIMonitor 等工具,以及 Androguard 的新功能都已经出现在本书中。
《Android软件安全与逆向分析》适合所有Android应用开发者、Android系统开发工程师、Android系统安全工作者阅读和学习。

关于作者

冯胜强(网名飞舞),安卓软件安全专家。见雪论坛安卓安全版版主; Android Bus Development Exchange Edition 版主。
对Android软件和系统安全有狂热的爱好和独到的见解,对Android系统的所有源代码进行了深入的研究和分析。丰富的逆向分析经验。
在国内信息安全杂志发表多篇有价值的软件安全文章。目前在国内一家安卓开发公司工作,常年上看书论坛(ID非蠕虫)。

目录

第1章Android程序分析环境搭建1
1.1 Windows分析环境搭建1
1.1.1安装JDK 1
1.1.2安装Android SDK 3
1.1.3安装Android NDK 5< br>1.1.4 Eclipse集成开发环境6
1.1.5安装CDT、ADT插件6
1.1.6创建Android虚拟设备8
1.1.7使用工具9
1.2 Linux分析环境设置 9
1.2.1 本书的 Linux 环境 9
1.2.2 安装 JDK 9
1.2.3 在 Ubuntu 10 上安装 Android SDK
1.2.4 在 Ubuntu 上安装 Android NDK Ubuntu 11
1.2.5 在 Ubuntu 12 上安装 Eclipse IDE
1.2.6 在 Ubuntu 13 上安装 CDT 和 ADT 插件
1.2.7 创建 Android 虚拟设备 13
1.2.8 使用工具 15< br>1.3 章节总结 15
第 2 章如何分析 Android 程序 16
2.1 编写你的第一个 Android 程序 16
2.1.1 使用 Eclipse 创建 Android 项目 16
2.1.2 编译和生成APK文件19
2.2破解第一个程序20
2.2.1怎么做? 20
2.2.2 反编译 APK 文件20
2.2.3 分析 APK 文件21
2.2.4 修改 Smali 文件代码26
2.2.5 重新编译并签名 APK 文件26
2.2 .6 安装测试 27< br>2.3 章节总结 28
第 3 章进入 Android Dalvik 虚拟机 29
3.1 Dalvik 虚拟机特点 - 掌握 Android 程序运行原理 29
3.1.1 Dalvik 虚拟机 机器概述 29
3.1.2 Dalvik虚拟机与Java虚拟机的区别 29
3.1.3 Dalvik虚拟机如何执行程序 34
3.1.4 关于Dalvik虚拟机JIT(即时编译) ) 36
3.2 Dalvik 汇编语言基础知识为 Android 程序分析做准备 37
3.2.1 Dalvik 指令格式 37
3.2.2 DEX 文件反汇编工具 39
3.2.3 理解 Dalvik 寄存器 40
3.2.4 两种不同的寄存器表示 - v 命名法和 p 命名法 42
3.2.5 Dalvik 字节码的类型、方法和字段表示 43
3.3 Dalvi k 指令集 44
3.3.1 指令特性 45
3.3.2 No-Op 指令 45
3.3.3 数据操作指令 46
3.3.4 返回指令 46
3.3.5 数据定义说明 46
3.3. 6 锁定指令 47
3.3.7 实例运算指令 47
3.3.8 数组运算指令 48
3.3.9 异常指令 48
3.3.10 跳转指令 48
3.3.11 比较指令49
3.3.12 字段操作说明 50
3.3.13 方法调用说明 50
3.3.14 数据转换说明 51
3.3.15 数据操作说明 51
3.4 Dalvik 指令集练习 — —编写一个Dalvik版本的Hello World 52
3.4.1 编写smali文件 52
3.4.2 编译smali文件 54
3.4.3 试运行54
3.5章节总结55
第4章Android 可执行文件 56
4.1 Android 程序生成步骤 56
4.2 Android 程序安装过程 59
4.3 dex 文件格式 66
4.3.1 dex 文件中的数据结构 66
4.3 .2 整体结构dex文件之68
4.3.3 dex文件结构解析71
4.4 odex文件格式80
4.4.1 odex文件如何生成80
4.4.2 odex文件整体结构81
4.4.3 odex文件结构解析83
4.5 dex文件校验优化工具dexopt工作流程88
4.6 Android应用替代破解方法91
4.7本章总结93
第5章Android程序静态分析94
5.1什么是静态分析94
5.2快速定位Android程序关键代码94
5.2.1反编译apk程序94
5.2.2程序主要活动95
5.2.3应用类需要重点关注95
5.2.4 如何定位键码——六种方法 96
5.3 smali 文件格式 97
5.4 Android 程序中的类 100
5.4.1 内部类 100
5.4.2 监听器 102
5.4.3 注释类 105
5.4.4 自动生成的类 108
5.5 读取反编译的 smali 代码 110
5.5.1 循环语句 110
5.5.2 切换分支语句 115
5.5. 3 try/catch 语句 121
5.6 使用IDA Pro静态分析Android程序 127
5.6.1 IDA Pro对Android的支持 127
5.6.2 如何操作 128
5.6.3 定位关键代码- 破解wi的例子th IDA Pro 132
5.7 恶意软件分析工具包 - Androguard 135
5.7.1 Androguard 安装和配置 135
5.7.2 如何使用 Androguard 137
5.7.3 使用 Androguard 和 Gephi 进行静态分析 144
5.7.4 使用androlyze.py进行静态分析 148
5.8 其他静态分析工具 152
5.9 读取反编译的Java代码 152
5.9.1 使用dex2jar生成jar文件 152
5.9.2使用jd-gui查看jar文件源代码153
5.10集成分析环境-santoku 154
5.11本章总结156
第6章基于Android的ARM汇编语言基础-逆向Native! 157
6.1 Android 和 ARM 处理器 157
6.1.1 ARM 处理器架构概述 157
6.1.2 ARM 处理器系列 158
6.1.3 Android 支持的处理器架构 159
6.2 本机程序和 ARM汇编语言 - 反转你的 Native Hello ARM 160
6.2.1 Native 程序初步反转 160
6.2.2 Native 程序的生成过程 162
6.2.3 必知 ARM 知识 164
6.3 ARM汇编语言程序结构 166
6.3.1 完整的 ARM 汇编程序 166
6.3.2 处理器体系结构定义 167
6.3.3 部分定义 168
6.3.4 注释和标签 169
6.3.5汇编指令 169
6.3.6 子程序和参数传递 170
6.4 ARM 处理器寻址模式 170
6.4.1 立即寻址 170
6.4 .2 寄存器寻址 171
6.4.3 寄存器移位寻址171
6.4.4 寄存器间接寻址 171
6.4.5 基址寻址 171
6.4.6 多寄存器寻址 171
6.4.7 堆栈寻址 172
6.4.8 块复制添加ressing 172
6.4.9 相对寻址 172
6.5 ARM 和 Thumb 指令集 173
6.5.1 指令格式 173
6.5.2 跳转指令 174
6.5.3 内存访问指令 175< br>6.5.4 数据处理指令 177
6.5.5 其他指令 184
6.6 用于多媒体编程和浮点计算的 NEON 和 VFP 指令集 185
6.7 章节总结 186
第 7 章逆向分析Android NDK程序之187
7.1 Android中的Native程序187
7.1.1编写示例程序187
7.1.2如何编译native程序188
7.2 Native的启动过程分析程序 194
7.2.1 原生程序的入口函数 194
7.2.2 什么时候执行main函数 198
7.3 原生文件格式 199
7.4 原生C程序逆向分析 200
7.4.1 原生程序的分析方法 200
7.4.2 for 循环语句反汇编的特点 204
7.4.3 if...else 分支语句的反汇编 代码特点2 08
7.4.4 while循环语句反汇编代码特点 211
7.4.5 switch分支语句反汇编代码特点 215
7.4.6 原生程序编译时优化 218
7.5 逆向原生 C++ 程序分析 222
7.5.1 逆向 C++ 类 222
7.5.2 Android NDK 对 C++ 特性的支持 225
7.5.3 静态链接的 STL 和动态链接的 STL 代码的区别 227
7.6 Android NDK JNI API逆向分析232
7.6.1 Android NDK提供了哪些功能232
7.6.2 如何静态分析Android NDK程序233
7.7本章总结235
第8章动态调试Android 程序 236
8.1 Android 动态调试支持 236
8.2 DDMS 的使用 237
8.2.1 如何启动 DDMS 237
8.2.2 使用 LogCat 查看调试信息 238
8.3 定位键Codes 240
8.3.1 代码注入法——让程序自己吐出注册码 >8.4.1 安装AndBug 251
8.4.2 使用AndBug 251
8.5 使用IDA Pro调试 Android 原生程序 254
8.5.1 调试 Android 原生程序 255
8.5.2 调试 Android 原生动态链接库 256
8.6 使用 gdb 调试 Android 原生程序 260
8.6.1 编译 gdb和gdbserver 260
8.6.2如何调试262
8.7本章总结264
第9章Android软件破解技术265
9.1试用版软件265
9.1.1试用版软件类型265
9.1.2 实例破解 - 授权KEY方法破解 265
9.2 序列号保护 271
9.3 网络验证 272
9.3.1 网络认证保护思路 272
9.3.2 实例破解 -网络认证破解 273
9.4 应用内计费 277
9.4.1 应用内计费原理 277
9.4.2 应用内计费破解方法 280
9.5 Google Play 许可保护 281
9.5.1 Google Play 授权保护机制 281
9.5.2 破解示例 - Google Play License 破解方法 283
9.6 重启验证 284
9.6.1 重启验证阳离子保护思路 285
9.6.2 实例破解-重启验证破解方法 285
9.7 如何破解其他类型的Android程序 296
9.7.1 Mono开发的Android程序及其破解方法 296
9.7.2 Qt为Android开发的程序及其破解方法301
9.8章节总结309
第十章Android程序反破解技术310
10.1反反编译310
10.1.1如何对抗反编译工具 310
10.1.2 对抗 dex2jar 311
10.2 对抗静态分析 312
10.2.1 代码混淆技术 312
10.2.2 NDK 保护 315
10.2.3 Shell保护 316
10.3 计数器动态调试 316
10.3.1 检测调试器 316
10.3.2 检测模拟器 317
10.4 防止重新编译 318
10.4.1 检查签名 318
10.4.2验证保护 319
10.5 章节总结 320
第 11 章 Android 系统攻击与防御 321
11.1 Android 系统安全概述 321
11.2 Mob ile RO OT 321带来的危害
11.2.1 为什么ROOT手机321
11.2.2 ROOT后手机322带来的安全隐患
11.2.3 Android手机ROOT原理322
11.3 Android 权限攻击 329
11.3.1 Android 权限检查机制 329
11.3.2 共谋权限攻击 333
11.3.3 权限攻击检测 336
11.4 Android 组件安全 339
11.4.1 活动安全和活动劫持演示 340
11.4.2 广播接收器安全 343
11.4.3 服务安全 345
11.4.4 内容提供者安全 346
11.5 数据安全 347
11.5.1 外部存储安全 347
11.5.2 内部存储安全 348
11.5.3 数据通信安全 350
11.6 ROM 安全 351
11.6.1 ROM 类型 352
11.6.2 ROM定制流程352
11.6.3 定制ROM的隐患359
11.6.4 如何防范360 11.7本章总结361
第12章DroidKongFu变种病毒实例分析362
12.1 DroidKongFu 病毒介绍 362
12.2 配置病毒分析环境 363
12.3 病毒执行状态分析 364
12.3.1 使用API​​Monitor初步分析 365
12.3.2 使用DroidBox 369动态分析
12.3. 3 其他动态分析工具 373
12.4 病毒代码逆向分析 376
12.4.1 Java层启动代码分析 376
12.4.2 Native层启动代码分析 381
12.4.3 Native层病毒核心分析393
12.5 DroidKongFu病毒框架总结404
12.6病毒预防406
12.7章节总结406

  • 声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,以上内容仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站内容来自网络收集整理或网友投稿,所提供的下载链接也是站外链接,版权争议与本站无关。您必须在下载后的24个小时之内,从您的设备中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版!我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!邮箱:121671486@qq.com,微信:diqiuren010101

学习考试资源网-58edu © All Rights Reserved.  湘ICP备12013312号-3 
站点地图| 免责说明| 合作请联系| 友情链接:学习乐园