摘要 | 第5-6页 |
ABSTRACT | 第6-7页 |
缩略语对照表 | 第11-14页 |
第一章 绪论 | 第14-22页 |
1.1 研究背景及意义 | 第14-16页 |
1.2 国内外研究现状 | 第16-18页 |
1.3 论文主要研究工作 | 第18-19页 |
1.4 本文组织结构 | 第19-22页 |
第二章 Android软件安全分析 | 第22-36页 |
2.1 Android应用软件文件结构 | 第22-25页 |
2.1.1 Apk文件结构 | 第22-23页 |
2.1.2 Dex文件格式 | 第23-25页 |
2.2 Dalvik虚拟机 | 第25-30页 |
2.2.1 Dalvik指令集 | 第25-26页 |
2.2.2 Dalvik虚拟机运行流程 | 第26-27页 |
2.2.3 Dalvik虚拟机运行机制 | 第27-30页 |
2.3 Android软件安全威胁分析 | 第30-35页 |
2.3.1 静态攻击 | 第30-31页 |
2.3.2 动态攻击 | 第31-35页 |
2.4 本章小结 | 第35-36页 |
第三章 基于虚拟机多样性的Android软件防护方法 | 第36-54页 |
3.1 Android软件现有保护技术及其缺陷 | 第36-38页 |
3.2 虚拟机保护技术 | 第38-39页 |
3.3 基于虚拟机多样性的Android软件防护方法 | 第39-49页 |
3.3.1 基于虚拟机多样性的防护原理 | 第39-41页 |
3.3.2 代码抽取 | 第41-44页 |
3.3.3 替换虚拟指令 | 第44-46页 |
3.3.4 虚拟解释器 | 第46-49页 |
3.4 基于虚拟机多样性的动态防御方法 | 第49-52页 |
3.4.1 基于Ptrace检测和Inotify监控的反调试方法 | 第49-50页 |
3.4.2 Android模拟器检测方法 | 第50-52页 |
3.5 本章小结 | 第52-54页 |
第四章 Android软件防护系统设计与实现 | 第54-64页 |
4.1 总体设计 | 第54-55页 |
4.2 虚拟机多样性防护模块设计与实现 | 第55-61页 |
4.2.1 核心方法指令加固子模块 | 第55-59页 |
4.2.2 虚拟解释器子模块 | 第59-61页 |
4.3 动态防御模块设计与实现 | 第61-63页 |
4.3.1 反调试子模块 | 第61-62页 |
4.3.2 Android模拟器检测子模块 | 第62-63页 |
4.4 本章小结 | 第63-64页 |
第五章 系统测试与结果分析 | 第64-72页 |
5.1 测试环境 | 第64页 |
5.2 可用性测试与分析 | 第64-65页 |
5.3 安全性测试与分析 | 第65-68页 |
5.3.1 防护前后Apk文件分析 | 第65-66页 |
5.3.2 静态攻击防护应用 | 第66-67页 |
5.3.3 动态调试防护应用 | 第67-68页 |
5.4 运行效率测试与分析 | 第68-70页 |
5.5 本章小结 | 第70-72页 |
第六章 总结与展望 | 第72-74页 |
6.1 总结 | 第72页 |
6.2 展望 | 第72-74页 |
参考文献 | 第74-78页 |
致谢 | 第78-80页 |
作者简介 | 第80-81页 |