网站颜色:

Android软件安全与逆向分析 Android应用开发教程 操作系统专业科技图书籍安卓人工智能计算机编程原理入门书籍 入门到精通详解

  • 产品名称:Android软件安全与逆向分...
  • 书名:Android软件安全与逆向分析
  • 作者:丰生强
  • 作者地区:中国大陆
  • 定价:69.00元
  • 书名:Android软件安全与逆向分析
  • 开本:16开
  • 是否是套装:否
  • 出版社名称:人民邮电出版社

 

基本信息
图书名称:
 Android软件安全与逆向分析  
作 者:
 丰生强  
定价:
 (咨询特价)
ISBN号:
 (咨询特价)
出版社:
 人民邮电出版社
开本:
 16
装帧:
 平装
出版日期:
 2013-2-1
印刷日期:
 2013-2-1
编辑推荐
每一位Android开发者的必备之书!在Android这个平台,我们已面临诸多威胁!
(咨询特价)年超过1800万台Android设备会遭遇某种形式的恶意软件的攻击。
恶意代码和病毒数量呈指数增长;
应用软件和数字内容的版权不断遭到侵害;
软件、篡改、广告库修改和植入、应用内付费等普遍存在;
软件本身的安全漏洞也频繁出现在国内外互联网企业的产品中;
数据泄露和账户被盗等潜在风险让人担忧;
官方系统、第三方定制系统和预装软件的漏洞不断被发现。
要掌握主动,免除威胁,你应了解真相!
安全技术几乎都是双刃,它们既能协助我们开发更有效的保护技术,也几乎必定会被攻击者学习和参考。这里的问题是,大量安全技术的首次大范围公开,是否会带来广泛的模仿和学习,从而引发更多的攻击?在这个问题上,安全界一直存在争议。这是任何一本里程碑式的安全书籍都无法绕开的话题。
在《信息安全工程》中,Ross Anderson说:“尽管一些恶意分子会从这样的书中获益,但他们大都已经知道了这些技巧,而好人们获得的收益会多得多。”
正是基于对这种观念的认同,才使得这本书呈现于此。

编辑的话
每一本书的诞生,都有让人记住的事情。在这本书的出版中,我印象深刻的是三点:
一,作者丰生强在第一次给我交来样稿时,其粗糙不规范的写书格式和读起来不是那么顺溜的语言表达让我囧了一下,我耐心的(也或许是有些耐着性子的?)在QQ上边截图边详细地告诉了他有哪些地方的格式被他忽略了,有哪些地方的话说得不够清楚。
我说完后,他说他会认真修改好后再次给我发来。但说实话,我心里没指望他第一次就能把格式给改好,因为对于第一次写书的作者来说,这种情况几乎不曾出现过。我做了继续指导第3、4次的心理准备。让我没想到的是,几天后他第二次交来的稿件就相当靓仔,让我多少有些不相信自己的眼睛,格式规范美观,语言流畅清楚,很难相信这是同一个人仅相隔几天后的作品。他跟我说他是一个字一个字地来阅读和修改每句话的。
二,他是很少的按时且保质保量完成书稿的。对于作者,不管水平高低,大多都擅长干一件事情——拖稿,而策划编辑不得不被迫干另一件事情——催稿。但丰生强以实际行动打破了这一魔咒,他努力工作,在合同规定的期限内按时交来了全稿。作为对作者拖稿见怪不怪的一名策划编辑来说,纵然不至于说是老泪纵横吧,那也是感触良多啊。
但从另一角度说,那些能完全视合同交稿期限为无物的作者也着实让人不敢小觑,这得有多强大的心理素质才能做到这一点呢,就这么心平气地跨过了最后期限。真心让人纠结。
三,在整个写作过程中,在谈及技术时,丰生强所表现出的那些热情、专注和乐观。我一直信奉的一点是,如果一个作者不能在他所钻研的领域体会到乐趣和幸福,那这样的作者写出来的东西是不值得一读的。好的内容就像好的食材,而那份热情和乐趣则是烹饪的手法。
现在,书已经打开,希望你会喜欢。
本书策划编辑 陈冰
内容介绍
《Android软件安全与逆向分析》由浅入深、循序渐进地讲解了Android系统的软件安全、逆向分析与加密解密技术。包括Android软件逆向分析和系统安全方面的必备知识及概念、如何静态分析Android软件、如何动态调试Android软件、Android软件的与反技术的探讨,以及对典型Android病毒的全面剖析。强实践性。缺乏可操作性,是Android安全方面现有论文、白皮书、技术文章大的问题之一,很多人读到后可能对内容有了一些概念,却不知道从何下手。这本书的几乎每一个部分,都结合实际例子,一步步讲解如何操作。强时效性。作者在写作的同时,持续跟随业界新进展,刚刚发布不久的Santoku虚拟机、APIMonitor等工具,以及Androguard的新特性等,已然出现在了这本书中。
《Android软件安全与逆向分析》适合所有Android应用开发者、Android系统开发工程师、Android系统安全工作者阅读学习。
作者介绍
《Android软件安全与逆向分析》由浅入深、循序渐进地讲解了Android系统的软件安全、逆向分析与加密解密技术。包括Android软件逆向分析和系统安全方面的必备知识及概念、如何静态分析Android软件、如何动态调试Android软件、Android软件的与反技术的探讨,以及对典型Android病毒的全面剖析。强实践性。缺乏可操作性,是Android安全方面现有论文、白皮书、技术文章大的问题之一,很多人读到后可能对内容有了一些概念,却不知道从何下手。这本书的几乎每一个部分,都结合实际例子,一步步讲解如何操作。强时效性。作者在写作的同时,持续跟随业界新进展,刚刚发布不久的Santoku虚拟机、APIMonitor等工具,以及Androguard的新特性等,已然出现在了这本书中。
《Android软件安全与逆向分析》适合所有Android应用开发者、Android系统开发工程师、Android系统安全工作者阅读学习。
目录
第1章 Android程序分析环境搭建
1.1 Windows分析环境搭建
1.1.1 安装JDK
1.1.2 安装Android SDK
1.1.3 安装Android NDK
1.1.4 Eclipse集成开发环境
1.1.5 安装CDT、ADT插件
1.1.6 创建Android Virtual Device
1.1.7 使用到的工具
1.2 Linux分析环境搭建
1.2.1 本书的Linux环境
1.2.2 安装JDK
1.2.3 在Ubuntu上安装Android SDK
1.2.4 在Ubuntu上安装Android NDK
1.2.5 在Ubuntu上安装Eclipse集成开发环境
1.2.6 在Ubuntu上安装CDT、ADT插件
1.2.7 创建Android Virtual Device
1.2.8 使用到的工具
1.3 本章小结

第2章 如何分析Android程序
2.1 编写第一个Android程序
2.1.1 使用Eclipse创建Android工程
2.1.2 编译生成APK文件
2.2 第一个程序
2.2.1 如何动手?
2.2.2 反编译APK文件
2.2.3 分析APK文件
2.2.4 修改Smali文件代码
2.2.5 重新编译APK文件并签名
2.2.6 安装测试
2.3 本章小结

第3章 进入Android Dalvik虚拟机
3.1 Dalvik虚拟机的特点——掌握Android程序的运行原理
3.1.1 Dalvik虚拟机概述
3.1.2 Dalvik虚拟机与Java虚拟机的区别
3.1.3 Dalvik虚拟机是如何执行程序的
3.1.4 关于Dalvik虚拟机JIT(即时编译)
3.2 Dalvik汇编语言基础为分析Android程序做准备
3.2.1 Dalvik指令格式
3.2.2 DEX文件反汇编工具
3.2.3 了解Dalvik寄存器
3.2.4 两种不同的寄存器表示方法——v命名法与p命名法
3.2.5 Dalvik字节码的类型、方法与字段表示方法
3.3 Dalvik指令集
3.3.1 指令特点
3.3.2 空操作指令
3.3.3 数据操作指令
3.3.4 返回指令
3.3.5 数据定义指令
3.3.6 锁指令
3.3.7 实例操作指令
3.3.8 数组操作指令
3.3.9 异常指令
3.3.10 跳转指令
3.3.11 比较指令
3.3.12 字段操作指令
3.3.13 方法调用指令
3.3.14 数据转换指令
3.3.15 数据运算指令
3.4 Dalvik指令集练习——写一个Dalvik版的Hello World
3.4.1 编写smali文件
3.4.2 编译smali文件
3.4.3 测试运行
3.5 本章小结

第4章 Android可执行文件
4.1 Android程序的生成步骤
4.2 Android程序的安装流程
4.3 dex文件格式
4.3.1 dex文件中的数据结构
4.3.2 dex文件整体结构
4.3.3 dex文件结构分析
4.4 odex文件格式
4.4.1 如何生成odex文件
4.4.2 odex文件整体结构
4.4.3 odex文件结构分析
4.5 dex文件的验证与优化工具dexopt的工作过程
4.6 Android应用程序另类方法
4.7 本章小结

第5章 静态分析Android程序
5.1 什么是静态分析
5.2 快速定位Android程序的关键代码
5.2.1 反编译apk程序
5.2.2 程序的主Activity
5.2.3 需重点关注的Application类
5.2.4 如何定位关键代码——六种方法
5.3 smali文件格式
5.4 Android程序中的类
5.4.1 内部类
5.4.2
5.4.3 注解类
5.4.4 自动生成的类
5.5 阅读反编译的smali代码
5.5.1 循环语句
5.5.2 switch分支语句
5.5.3 try/catch语句
5.6 使用IDA Pro静态分析Android程序
5.6.1 IDA Pro对Android的支持
5.6.2 如何操作
5.6.3 定位关键代码——使用IDA Pro进行的实例
5.7 恶意软件分析工具包——Androguard
5.7.1 Androguard的安装与配置
5.7.2 Androguard的使用方法
5.7.3 使用Androguard配合Gephi进行静态分析
5.7.4 使用androlyze.py进行静态分析
5.8 其他静态分析工具
5.9 阅读反编译的Java代码
5.9.1 使用dex2jar生成jar文件
5.9.2 使用jd-gui查看jar文件的源码
(咨询特价) 集成分析环境——santoku
(咨询特价) 本章小结

第6章 基于Android的ARM汇编语言基础——逆向原生!
6.1 Android与ARM处理器
6.1.1 ARM处理器架构概述
6.1.2 ARM处理器家族
6.1.3 Android支持的处理器架构
6.2 原生程序与ARM汇编语言——逆向你的原生Hello ARM
6.2.1 原生程序逆向初步
6.2.2 原生程序的生成过程
6.2.3 必须了解的ARM知识
6.3 ARM汇编语言程序结构
6.3.1 完整的ARM汇编程序
6.3.2 处理器架构定义
6.3.3 段定义
6.3.4 注释与标号
6.3.5 汇编器指令
6.3.6 子程序与参数传递
6.4 ARM处理器寻址方式
6.4.1 立即寻址
6.4.2 寄存器寻址
6.4.3 寄存器移位寻址
6.4.4 寄存器间接寻址
6.4.5 基址寻址
6.4.6 多寄存器寻址
6.4.7 堆栈寻址
6.4.8 块拷贝寻址
6.4.9 相对寻址
6.5 ARM与Thumb指令集
6.5.1 指令格式
6.5.2 跳转指令
6.5.3 存储器访问指令
6.5.4 数据处理指令
6.5.5 其他指令
6.6 用于多媒体编程与浮点计算的NEON与VFP指令集
6.7 本章小结

第7章 Android NDK程序逆向分析
7.1 Android中的原生程序
7.1.1 编写一个例子程序
7.1.2 如何编译原生程序
7.2 原生程序的启动流程分析
7.2.1 原生程序的入口函数
7.2.2 main函数究竟何时被执行
7.3 原生文件格式
7.4 原生C程序逆向分析
7.4.1 原生程序的分析方法
7.4.2 for循环语句反汇编代码的特点
7.4.3 if...else分支语句反汇编代码的特点
7.4.4 while循环语句反汇编代码的特点
7.4.5 switch分支语句反汇编代码的特点
7.4.6 原生程序的编译时优化
7.5 原生C++程序逆向分析
7.5.1 C++类的逆向
7.5.2 Android NDK对C++特性的支持
7.5.3 静态链接STL与动态链接STL的代码区别
7.6 Android NDK JNI API逆向分析
7.6.1 Android NDK提供了哪些函数
7.6.2 如何静态分析Android NDK程序
7.7 本章小结

第8章 动态调试Android程序
8.1 Android动态调试支持
8.2 DDMS的使用
8.2.1 如何启动DDMS
8.2.2 使用LogCat查看调试信息
8.3 定位关键代码
8.3.1 代码注入法——让程序自己吐出注册码
8.3.2 栈跟踪法
8.3.3 Method Profiling
8.4 使用AndBug调试Android程序
8.4.1 安装AndBug
8.4.2 使用AndBug
8.5 使用IDA Pro调试Android原生程序
8.5.1 调试Android原生程序
8.5.2 调试Android原生动态链接库
8.6 使用gdb调试Android原生程序
8.6.1 编译gdb与gdbserver
8.6.2 如何调试
8.7 本章小结

第9章 Android软件的技术
9.1 试用版软件
9.1.1 试用版软件的种类
9.1.2 实例——针对授权KEY方式的
9.2 序列号保护
9.3 网络验证
9.3.1 网络验证保护思路
9.3.2 实例——针对网络验证方式的
9.4 In-app Billing(应用内付费)
9.4.1 In-app Billing原理
9.4.2 In-app Billing方法
9.5 Google Play License保护
9.5.1 Google Play License保护机制
9.5.2 实例——针对Google Play License方式的
9.6 重启验证
9.6.1 重启验证保护思路
9.6.2 实例——针对重启验证方式的
9.7 如何其他类型的Android程序
9.7.1 Mono for Android开发的程序及其方法
9.7.2 Qt for Android开发的程序及其方法
9.8 本章小结

第10章 Android程序的反技术
10.1 对抗反编译
10.1.1 如何对抗反编译工具
10.1.2 对抗dex2jar
10.2 对抗静态分析
10.2.1 代码混淆技术
10.2.2 NDK保护
10.2.3 外壳保护
10.3 对抗动态调试
10.3.1 检测调试器
10.3.2 检测模拟器
10.4 防止重编译
10.4.1 检查签名
10.4.2 校验保护
10.5 本章小结

第11章 Android系统攻击与防范
11.1 Android系统安全概述
11.2 ROOT带来的危害
11.2.1 为什么要ROOT
11.2.2 ROOT后带来的安全隐患
11.2.3 AndroidROOT原理
11.3 Android权限攻击
11.3.1 Android权限检查机制
11.3.2 串谋权限攻击
11.3.3 权限攻击检测
11.4 Android组件安全
11.4.1 Activity安全及Activity劫持演示
11.4.2 Broadcast Receiver 安全
11.4.3 Service安全
11.4.4 Content Provider安全
11.5 数据安全
11.5.1 外部存储安全
11.5.2 内部存储安全
11.5.3 数据通胁全
11.6 ROM安全
11.6.1 ROM的种类
11.6.2 ROM的定制过程
11.6.3 定制ROM的安全隐患
11.6.4 如何防范
11.7 本章小结

第12章 DroidKongFu变种病毒实例分析
12.1 DroidKongFu病毒介绍
12.2 配置病毒分析环境
12.3 病毒执行状态分析
12.3.1 使用APIMonitor初步分析
12.3.2 使用DroidBox动态分析
12.3.3 其他动态分析工具
12.4 病毒代码逆向分析
12.4.1 Java层启动代码分析
12.4.2 Native层启动代码分析
12.4.3 Native层病毒核心分析
12.5 DroidKongFu病毒框架总结
12.6 病毒防治
12.7 本章小结
……

 

··············

热门设计服务