摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第10-17页 |
1.1 课题背景及意义 | 第10-11页 |
1.2 课题的研究现状 | 第11-15页 |
1.2.1 Android 操作系统的发展现状 | 第11-12页 |
1.2.2 函数调用关系实现的发展现状 | 第12-14页 |
1.2.3 函数执行时间获得方法的发展现状 | 第14-15页 |
1.3 本文的工作 | 第15页 |
1.4 本文的组织结构 | 第15-17页 |
第二章 Dalvik 虚拟机的特点及分析 | 第17-40页 |
2.1 Dalvik 虚拟机概述 | 第17-24页 |
2.1.1 Android 操作系统架构 | 第17-20页 |
2.1.2 Dalvik 虚拟机的特点 | 第20-21页 |
2.1.3 Dalvik 虚拟机的架构图 | 第21-24页 |
2.2 Dalvik 字节码及指令集介绍 | 第24-27页 |
2.2.1 Dalvik 字节码的类型 | 第25-26页 |
2.2.2 Dalvik 字节码的指令格式 | 第26-27页 |
2.3 DEX 文件格式介绍 | 第27-35页 |
2.3.1 Dex 文件详细介绍 | 第29-32页 |
2.3.2 Java 字节码和 dalvik 字节码之间的转换 | 第32-35页 |
2.4 Dalvik 解释器的特点和体系结构 | 第35-39页 |
2.4.1 解释器概述 | 第35-37页 |
2.4.2 Dalvik 解释器体系结构 | 第37-39页 |
2.5 本章小结 | 第39-40页 |
第三章 静态分析模块设计与实现 | 第40-54页 |
3.1 反汇编单元的设计 | 第40-47页 |
3.1.1 文件分析模型 | 第42-44页 |
3.1.2 反汇编单元框架设计 | 第44-47页 |
3.2 预处理单元的设计 | 第47-50页 |
3.3 静态分析模块结果展示 | 第50-53页 |
3.3.1 反汇编单元结果展示 | 第50-52页 |
3.3.2 预处理单元结果展示 | 第52-53页 |
3.4 本章小结 | 第53-54页 |
第四章 动态分析的设计及实现 | 第54-76页 |
4.1 环境搭建 | 第54-55页 |
4.2 解释器源码分析 | 第55-65页 |
4.2.1 Dalvik 启动解释器流程分析 | 第55-57页 |
4.2.2 函数调用源码实现分析 | 第57-63页 |
4.2.3 JNI 方法调用实现分析 | 第63-65页 |
4.3 动态分析模块流程设计 | 第65-71页 |
4.4 动态分析结果 | 第71-74页 |
4.5 本章小结 | 第74-76页 |
第五章 结论 | 第76-78页 |
5.1 本文的主要贡献 | 第76-77页 |
5.2 下一步工作的展望 | 第77-78页 |
致谢 | 第78-79页 |
参考文献 | 第79-82页 |
攻硕期间取得的研究成果 | 第82-83页 |