摘要 | 第4-6页 |
ABSTRACT | 第6-7页 |
第一章 绪论 | 第10-13页 |
1.1 研究背景及意义 | 第10-11页 |
1.2 本文主要研究内容和创新点 | 第11-12页 |
1.3 本文的组织架构 | 第12-13页 |
第二章 Android系统及传统加固技术 | 第13-30页 |
2.1 Android概述 | 第13-21页 |
2.1.1 Android系统框架 | 第13-14页 |
2.1.2 Android虚拟机 | 第14-16页 |
2.1.2.1 Dalvik虚拟机 | 第14-15页 |
2.1.2.2 Art虚拟机 | 第15-16页 |
2.1.3 Android应用程序 | 第16-21页 |
2.1.3.1 应用程序结构 | 第16-18页 |
2.1.3.2 应用程序组件 | 第18-19页 |
2.1.3.3 应用程序启动流程分析 | 第19-21页 |
2.2 Android应用面临的威胁 | 第21-22页 |
2.3 传统加固技术及缺陷分析 | 第22-28页 |
2.3.1 加固技术概述 | 第22-23页 |
2.3.2 基于UPX的加固技术 | 第23-24页 |
2.3.2.1 技术概述 | 第23-24页 |
2.3.2.2 缺陷分析 | 第24页 |
2.3.3 基于Dex嵌入的加固技术 | 第24-26页 |
2.3.3.1 技术概述 | 第24-26页 |
2.3.3.2 缺陷分析 | 第26页 |
2.3.4 基于DexClassLoader的加固技术 | 第26-28页 |
2.3.4.1 技术概述 | 第26-28页 |
2.3.4.2 缺陷分析 | 第28页 |
2.4 传统加固技术总结 | 第28-29页 |
2.5 本章小结 | 第29-30页 |
第三章 应用加固核心技术研究与实现 | 第30-54页 |
3.1 引言 | 第30页 |
3.2 加固技术优化技术概述 | 第30-31页 |
3.3 二进制Manifest文件解析 | 第31-36页 |
3.3.1 二进制Manifest文件格式研究 | 第31-35页 |
3.3.2 二进制Manifest代码解析 | 第35-36页 |
3.4 基于DexClassLoader的动态加载 | 第36-44页 |
3.4.1 Dex文件型动态加载 | 第37-39页 |
3.4.2 Dex内存型动态加载 | 第39-44页 |
3.5 加固防破解技术 | 第44-53页 |
3.5.1 模拟器检测 | 第44-47页 |
3.5.1.1 检测方案研究 | 第44-46页 |
3.5.1.2 检测方案实现 | 第46-47页 |
3.5.2 动态库so文件保护 | 第47-51页 |
3.5.2.1 保护技术简介 | 第47-48页 |
3.5.2.2 静态保护技术实现 | 第48-51页 |
3.5.3 Manifest文件加密 | 第51-53页 |
3.6 本章小结 | 第53-54页 |
第四章 应用加固系统设计与实现 | 第54-68页 |
4.1 引言 | 第54页 |
4.2 PC端应用加固流程 | 第54-56页 |
4.2.1 PC端应用加固流程设计 | 第54-56页 |
4.2.2 应用加固工程目录 | 第56页 |
4.3 应用加固模块化实现 | 第56-61页 |
4.3.1 加固预处理模块 | 第57-59页 |
4.3.2 Dex加密模块 | 第59-60页 |
4.3.3 Manifest修改模块 | 第60页 |
4.3.4 应用签名模块 | 第60-61页 |
4.4 加固应用启动流程 | 第61-62页 |
4.5 加固测试 | 第62-67页 |
4.5.1 加固功能性测试 | 第62-64页 |
4.5.1.1 防破解功能测试 | 第62-63页 |
4.5.1.2 加固应用启动测试 | 第63-64页 |
4.5.2 加固与传统加固对比测试 | 第64-67页 |
4.5.2.1 加固适用范围对比测试 | 第65-66页 |
4.5.2.2 加固效率测试 | 第66-67页 |
4.5.2.3 加固安全性测试 | 第67页 |
4.6 加固结果分析 | 第67页 |
4.7 本章小结 | 第67-68页 |
第五章 总结与展望 | 第68-70页 |
5.1 论文工作总结 | 第68页 |
5.2 未来展望 | 第68-70页 |
参考文献 | 第70-72页 |
致谢 | 第72页 |