更新时间:2019-04-22 18:13:01
封面
版权信息
前言
第1章 本书必读
1.1 概述
1.2 准备环境和工具
1.2.1 准备源代码
1.2.2 准备Source Insight
1.2.3 准备模拟器和自制系统镜像
1.2.4 小结
1.3 本书的内容
1.4 本书资源下载说明
第2章 深入理解Class文件格式
2.1 Class文件格式总览
2.2 常量池及相关内容
2.2.1 常量项的类型和关系
2.2.2 信息描述规则
2.2.3 常量池实例剖析
2.3 field_info和method_info
2.4 access_flags介绍
2.5 属性介绍
2.5.1 属性概貌
2.5.2 Code属性
2.5.3 LineNumberTable属性
2.5.4 LocalVariableTable属性
2.6 Java指令码介绍
2.6.1 指令码和助记符
2.6.2 如何阅读规范
2.7 学习路线推荐
2.8 参考资料
第3章 深入理解Dex文件格式
3.1 Dex文件格式总览
3.1.1 Dex和Class文件格式的区别
3.1.2 Dex文件格式的概貌
3.2 认识Dex文件
3.2.1 header_item
3.2.2 string_id_item等
3.2.3 class_def
3.2.4 code_item
3.3 Dex指令码介绍
3.3.1 insns的组织形式
3.3.2 指令码描述规则
3.4 学习路线推荐
3.5 参考资料
第4章 深入理解ELF文件格式
4.1 概述
4.2 ELF文件格式介绍
4.2.1 ELF文件头结构介绍
4.2.2 Linking View下的ELF
4.2.3 Execution View下的ELF
4.2.4 实例分析:调用动态库中的函数
4.2.5 ELF总结
4.3 学习路线推荐
4.4 参考资料
第5章 认识C++11
5.1 数据类型
5.1.1 基本内置数据类型介绍
5.1.2 指针、引用和void类型
5.1.3 字符和字符串
5.1.4 数组
5.2 C++源码构成及编译
5.2.1 头文件示例
5.2.2 源文件示例
5.2.3 编译
5.3 Class介绍
5.3.1 构造、赋值和析构函数
5.3.2 类的派生和继承
5.3.3 友元和类的前向声明
5.3.4 explicit构造函数
5.3.5 C++中的struct
5.4 操作符重载
5.4.1 操作符重载的实现方式
5.4.2 输出和输入操作符重载
5.4.3 ->和*操作符重载
5.4.4 new和delete操作符重载
5.4.5 函数调用运算符重载
5.5 函数模板与类模板
5.5.1 函数模板
5.5.2 类模板
5.6 lambda表达式
5.7 STL介绍
5.7.1 string类
5.7.2 容器类
5.7.3 算法和函数对象介绍
5.7.4 智能指针类
5.7.5 探讨STL的学习
5.8 其他常用知识
5.8.1 initializer_list
5.8.2 带作用域的enum
5.8.3 constexpr
5.8.4 static_assert
5.9 参考资料
第6章 编译dex字节码为机器码
6.1 编译器全貌介绍
6.2 编译器前端介绍
6.2.1 词法分析和lex
6.2.2 语法分析和yacc
6.2.3 语义分析和IR生成介绍
6.3 优化器介绍
6.3.1 构造CFG