• Android软件安全与逆向分析
21年品牌 40万+商家 超1.5亿件商品

Android软件安全与逆向分析

新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。

41.88 6.1折 69 全新

库存12件

天津西青
认证卖家担保交易快速发货售后保障

作者丰生强

出版社人民邮电出版社

ISBN9787115308153

出版时间2013-02

装帧平装

开本16开

定价69元

货号1200435083

上书时间2024-10-18

果然是好书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
    丰生强(网名非虫),Android软件安全专家。看雪论坛Android安全版版主;安卓巴士开发交流版版主。
    对Android软件与系统安全有狂热的爱好和独到的见解,对Android系统的全部源代码进行过深入地研究和分析。逆向分析实战经验丰富。
    在国内信息安全杂志上发表过多篇有价值的软件安全文章,目前就职于国内某Android开发企业,常年混迹于看雪论坛(ID非虫)。

目录
章  Android程序分析环境搭建  1
1.1  Windows分析环境搭建  1
1.1.1  安装JDK  1
1.1.2  安装Android SDK  3
1.1.3  安装Android NDK  5
1.1.4  Eclipse集成开发环境  6
1.1.5  安装CDT、ADT插件  6
1.1.6  创建Android Virtual Device  8
1.1.7  使用到的工具  9
1.2  Linux分析环境搭建  9
1.2.1  本书的Linux环境  9
1.2.2  安装JDK  9
1.2.3  在Ubuntu上安装Android SDK  10
1.2.4  在Ubuntu上安装Android NDK  11
1.2.5  在Ubuntu上安装Eclipse集成开发环境  12
1.2.6  在Ubuntu上安装CDT、ADT插件  13
1.2.7  创建Android Virtual Device  13
1.2.8  使用到的工具  15
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
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  Dalvik指令集  44
3.3.1  指令特点  45
3.3.2  空操作指令  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  程序的主Activity  95
5.2.3  需重点关注的Application类  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  switch分支语句  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  定位关键代码——使用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汇编语言基础——逆向原生!  157
6.1  Android与ARM处理器  157
6.1.1  ARM处理器架构概述  157
6.1.2  ARM处理器家族  158
6.1.3  Android支持的处理器架构  159
6.2  原生程序与ARM汇编语言——逆向你的原生Hello ARM  160
6.2.1  原生程序逆向初步  160
6.2.2  原生程序的生成过程  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  块拷贝寻址  172
6.4.9  相对寻址  172
6.5  ARM与Thumb指令集  173
6.5.1  指令格式  173
6.5.2  跳转指令  174
6.5.3  存储器访问指令  175
6.5.4  数据处理指令  177
6.5.5  其他指令  184
6.6  用于多媒体编程与浮点计算的NEON与VFP指令集  185
6.7  本章小结  186

第7章  Android NDK程序逆向分析  187
7.1  Android中的原生程序  187
7.1.1  编写一个例子程序  187
7.1.2  如何编译原生程序  188
7.2  原生程序的启动流程分析  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分支语句反汇编代码的特点  208
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  定位关键代码  240
8.3.1  代码注入法——让程序自己吐出注册码  240
8.3.2  栈跟踪法  244
8.3.3  Method Profiling  247
8.4  使用AndBug调试Android程序  250
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  In-app Billing(应用内付费)  277
9.4.1  In-app Billing原理  277
9.4.2  In-app Billing破解方法  280
9.5  Google Play License保护  281
9.5.1  Google Play License保护机制  281
9.5.2  实例破解——针对Google Play License方式的破解  283
9.6  重启验证  284
9.6.1 &

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP