摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第11-19页 |
1.1 研究背景 | 第11-14页 |
1.1.1 智能手机发展现状 | 第11-12页 |
1.1.2 智能手机恶意软件现状 | 第12-14页 |
1.2 研究现状 | 第14-16页 |
1.2.1 传统的软件防护方法 | 第14-15页 |
1.2.2 Android平台的软件防护研究现状 | 第15-16页 |
1.3 主要工作与创新点 | 第16-17页 |
1.4 论文组织结构 | 第17-19页 |
第二章 ANDROID体系与机制 | 第19-29页 |
2.1 概述 | 第19页 |
2.2 Android系统架构 | 第19-21页 |
2.3 Android运行机制 | 第21-25页 |
2.3.1 Dalvik虚拟机机制 | 第21-22页 |
2.3.2 Android应用编译机制 | 第22-23页 |
2.3.3 Android系统安全机制 | 第23-25页 |
2.4 Android软件面临的安全威胁 | 第25-28页 |
2.4.1 Android软件面临的安全威胁 | 第25-26页 |
2.4.2 基于逆向工程的Android软件攻击实例 | 第26-28页 |
2.5 本章小结 | 第28-29页 |
第三章 面向ANDROID软件的混淆方案及算法 | 第29-41页 |
3.1 引言 | 第29页 |
3.2 混淆方案概述 | 第29-31页 |
3.3 面向Android代码的混淆算法 | 第31-40页 |
3.3.1 插入多余的分支路径 | 第31-33页 |
3.3.2 压扁控制流 | 第33-39页 |
3.3.3 强化不透明谓词 | 第39-40页 |
3.4 本章小结 | 第40-41页 |
第四章 代码自修改技术在ANDROID平台的实现 | 第41-54页 |
4.1 引言 | 第41页 |
4.2 代码自修改技术(SMC) | 第41-42页 |
4.3 Java本地接口技术 | 第42-43页 |
4.4 NDK本地开发技术 | 第43-45页 |
4.5 代码自修改技术在Android平台的实现 | 第45-49页 |
4.6 代码自修改保护实例 | 第49-53页 |
4.7 本章小结 | 第53-54页 |
第五章 ANDROID软件防护系统的设计与实现 | 第54-66页 |
5.1 引言 | 第54页 |
5.2 Android软件防护系统的设计 | 第54-58页 |
5.2.1 Android软件防护系统框架 | 第55页 |
5.2.2 Android软件防护系统保护处理流程 | 第55-56页 |
5.2.3 保护后的Android软件安全运行流程 | 第56-58页 |
5.3 双层代码自修改保护方案 | 第58-59页 |
5.4 基于双层代码自修改的签名认证 | 第59-60页 |
5.5 基于双层代码自修改的完整性校验 | 第60-61页 |
5.6 面向Android软件的代码混淆 | 第61-64页 |
5.6.1 混淆系统设计 | 第61-63页 |
5.6.2 程序分析的实现 | 第63页 |
5.6.3 混淆转换的实现 | 第63-64页 |
5.7 关键代码保护 | 第64-65页 |
5.8 本章小结 | 第65-66页 |
第六章 系统分析与评估 | 第66-71页 |
6.1 测试准备 | 第66-67页 |
6.2 可行性分析 | 第67-68页 |
6.3 安全性分析 | 第68-69页 |
6.4 性能分析 | 第69-70页 |
6.5 本章小结 | 第70-71页 |
第七章 总结与展望 | 第71-73页 |
7.1 总结 | 第71-72页 |
7.2 展望 | 第72-73页 |
参考文献 | 第73-76页 |
致谢 | 第76-77页 |
攻读学位期间发表的学术论文列表 | 第77页 |