Android 应用安全防护和逆向分析

本书特色

[

本书有非常详细的案例讲解,也提供了大量的工具源码,是Android开发人员逆向学习研究的极好工具手册,可以帮助Android开发者成为更全面的Android高手。

]

内容简介

[

本书全面介绍Android应用的安全防护方法与逆向分析技术,分为四篇:基础篇、防护篇、工具篇、操作篇,共26章。基础篇包括第1~7章,主要介绍移动应用安全的基础知识,包括Android中NDK开发知识、逆向中需要用到的命令、编译之后的apk包含的四类主要文件格式解析等。防护篇包括第8~14章,主要介绍移动应用安全防护的相关技术,包括混淆、签名校验、反调试检测等安全策略,Android应用升级权限、降低权限等,配置文件中的问题,应用签名机制,apk的加固策略,so文件的加固策略等。工具篇包括第15~19章,主要介绍逆向分析常用的工具以及使用场景,包括如何开启设备的总调试开关,反编译利器apktool、Jadx、Xposed、Cydia Substrate等。操作篇包括第20~26章,主要介绍Android中的逆向分析技巧,包括静态方式和动态方式,介绍Android中开发会遇到的系统漏洞及修复方式,*后分析了Android中一个非常经典的文件加密病毒样本。

]

作者简介

[

姜维 某知名互联网公司开发者,参与过多个移动App开发项目,对Android安全问题情有独钟,深入分析过Android源代码和各类移动应用病毒,逆向分析实战经验

]

目录

对本书的赞誉前言基础篇第1章 Android中锁屏密码加密算法分析1.1 锁屏密码方式1.2 密码算法分析1.2.1 输入密码算法分析1.2.2 手势密码算法分析1.3 本章小结第2章 Android中NDK开发2.1 搭建开发环境2.1.1 Eclipse环境搭建2.1.2 Android Studio环境搭建2.2 **行代码:HelloWorld2.3 JNIEnv类型和jobject类型2.3.1 JNIEnv类型2.3.2 jobject参数obj2.3.3 Java类型和native中的类型映射关系2.3.4 jclass类型2.3.5 native中访问Java层代码2.4 JNIEnv类型中方法的使用2.4.1 native中获取方法的Id2.4.2 Java和C++中的多态机制2.5 创建Java对象及字符串的操作方法2.5.1 native中创建Java对象2.5.2 native中操作Java字符串2.6 C/C++中操作Java中的数组2.6.1 操作基本类型数组2.6.2 操作对象类型数组2.7 C/C++中的引用类型和ID的缓存2.7.1 引用类型2.7.2 缓存方法2.8 本章小结第3章 Android中开发与逆向常用命令总结3.1 基础命令3.2 非shell命令3.3 shell命令3.4 操作apk命令3.5 进程命令3.6 本章小结第4章 so文件格式解析4.1 ELF文件格式4.2 解析工具4.3 解析ELF文件4.4 验证解析结果4.5 本章小结第5章 AndroidManifest.xml文件格式解析5.1 格式分析5.2 格式解析5.2.1 解析头部信息5.2.2 解析String Chunk5.2.3 解析ResourceId Chunk5.2.4 解析Start Namespace Chunk5.2.5 解析Start Tag Chunk5.3 本章小结第6章 resource.arsc文件格式解析6.1 Android中资源文件id格式6.2 数据结构定义6.2.1 头部信息6.2.2 资源索引表的头部信息6.2.3 资源项的值字符串资源池6.2.4 Package数据块6.2.5 类型规范数据块6.2.6 资源类型项数据块6.3 解析代码6.3.1 解析头部信息6.3.2 解析资源字符串内容6.3.3 解析包信息6.3.4 解析资源类型的字符串内容6.3.5 解析资源值字符串内容6.3.6 解析正文内容6.4 本章小结第7章 dex文件格式解析7.1 dex文件格式7.2 构造dex文件7.3 解析数据结构7.3.1 头部信息Header结构7.3.2 string_ids数据结构7.3.3 type_ids数据结构7.3.4 proto_ids数据结构7.3.5 field_ids数据结构7.3.6 method_ids数据结构7.3.7 class_defs数据结构7.4 解析代码7.4.1 解析头部信息7.4.2 解析string_ids索引区7.4.3 解析type_ids索引区7.4.4 解析proto_ids索引区7.4.5 解析field_ids索引区7.4.6 解析method_ids索引区7.4.7 解析class_def区域7.5 本章小结防护篇第8章 Android应用安全防护的基本策略8.1 混淆机制8.1.1 代码混淆8.1.2 资源混淆8.2 签名保护8.3 手动注册native方法8.4 反调试检测8.5 本章小结第9章 Android中常用权限分析9.1 辅助功能权限9.2 设备管理权限9.3 通知栏管理权限9.4 VPN开发权限9.5 本章小结第10章 Android中的run-as命令10.1 命令分析和使用10.2 Linux中的setuid和setgid概念10.3 Android中setuid和setgid的使用场景10.4 run-as命令的作用10.5 调用系统受uid限制的API10.6 本章小结第11章 Android中的allowBackup属性11.1 allowBackup属性介绍11.2 如何获取应用隐私数据11.3 如何恢复应用数据11.4 本章小结第12章 Android中的签名机制12.1 基本概念12.2 Android中签名流程12.3 Android中为何采用这种签名机制12.4 本章小结第13章 Android应用加固原理13.1 加固原理解析13.2 案例分析13.3 运行项目13.4 本章小结第14章 Android中的so加固原理14.1 基于对so中的section加密实现so加固14.1.1 技术原理14.1.2 实现方案14.1.3 代码实现14.1.4 总结14.2 基于对so中的函数加密实现so加固14.2.1 技术原理14.2.2 实现方案14.2.3 代码实现14.3 本章小结工具篇第15章 Android逆向分析基础15.1 逆向工具15.2 逆向基本知识15.3 打开系统调试总开关15.4 本章小结第16章 反编译神器apktool和Jadx操作篇

封面

Android 应用安全防护和逆向分析

书名:Android 应用安全防护和逆向分析

作者:姜维

页数:414

定价:¥99.0

出版社:机械工业出版社

出版日期:2018-01-01

ISBN:9787111584452

PDF电子书大小:89MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注