面向安卓系统的移动应用程序安全加固系统的设计与实现
摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
第一章 绪论 | 第10-13页 |
1.1 课题背景 | 第10-11页 |
1.2 主要创新工作 | 第11页 |
1.3 论文结构 | 第11-12页 |
1.4 本章小结 | 第12-13页 |
第二章 相关技术 | 第13-19页 |
2.1 Android平台应用介绍 | 第13-14页 |
2.1.1 Android平台应用结构 | 第13页 |
2.1.2 应用运行机制 | 第13-14页 |
2.2 Android JNI机制 | 第14-15页 |
2.2.1 JNI使用与保护场景 | 第14页 |
2.2.2 JNI加载流程 | 第14-15页 |
2.3 Android平台安全机制 | 第15-16页 |
2.3.1 源码制作阶段 | 第15-16页 |
2.3.2 应用发布与分发阶段 | 第16页 |
2.3.3 安装使用阶段 | 第16页 |
2.4 应用保护方法 | 第16-17页 |
2.4.1 混淆/加密 | 第16-17页 |
2.4.2 防篡改 | 第17页 |
2.4.3 水印或指纹 | 第17页 |
2.4.4 反动态调试 | 第17页 |
2.5 应用破解工具 | 第17-18页 |
2.6 本章小结 | 第18-19页 |
第三章 需求分析 | 第19-23页 |
3.1 概述 | 第19页 |
3.2 工具破解效果 | 第19-21页 |
3.2.1 Java层代码修改 | 第19页 |
3.2.2 Native层代码修改 | 第19-20页 |
3.2.3 密钥数据破解 | 第20-21页 |
3.3 风险分析 | 第21页 |
3.4 需求列表 | 第21-22页 |
3.5 本章小结 | 第22-23页 |
第四章 总体设计 | 第23-34页 |
4.1 设计原则 | 第23页 |
4.2 总体设计图 | 第23-33页 |
4.2.1 系统边界说明 | 第23-24页 |
4.2.2 系统整体设计 | 第24-25页 |
4.2.3 加固策略子系统 | 第25-27页 |
4.2.4 防御方法子系统 | 第27-29页 |
4.2.5 应用重打包子系统 | 第29-33页 |
4.3 本章小结 | 第33-34页 |
第五章 关键技术与实现 | 第34-56页 |
5.1 加固关键参数说明 | 第34-35页 |
5.2 DEX加固保护方案 | 第35-43页 |
5.2.1 DEX加固效果 | 第35-36页 |
5.2.2 加壳程序设计 | 第36-38页 |
5.2.3 配置文件修改 | 第38-39页 |
5.2.4 解壳程序设计 | 第39-43页 |
5.3 So加固保护方案 | 第43-50页 |
5.3.1 SO加固效果 | 第43-44页 |
5.3.2 应用加载调用逻辑 | 第44页 |
5.3.3 运行原理 | 第44-45页 |
5.3.4 SO加固程序设计 | 第45-46页 |
5.3.5 核心实现代码 | 第46-50页 |
5.4 资源文件保护方案 | 第50-53页 |
5.4.1 资源文件加固效果 | 第50-51页 |
5.4.2 加固与运行流程 | 第51-52页 |
5.4.3 资源文件加固程序设计 | 第52-53页 |
5.5 密钥保护方案 | 第53-55页 |
5.5.1 密钥文件加固效果 | 第53页 |
5.5.2 运行与加载流程 | 第53-54页 |
5.5.3 密钥文件加固程序设计 | 第54-55页 |
5.6 本章小结 | 第55-56页 |
第六章 系统测试与分析 | 第56-62页 |
6.1 测试环境说明 | 第56页 |
6.2 伪加密效果测试 | 第56-57页 |
6.3 DEX加固效果测试 | 第57页 |
6.4 SO库加固效果测试 | 第57-58页 |
6.5 资源文件加固效果测试 | 第58-59页 |
6.6 密钥文件加固效果测试 | 第59页 |
6.7 测试结果分析 | 第59-61页 |
6.7.1 应用加固前后应用安装包比较 | 第59-60页 |
6.7.2 性能分析 | 第60-61页 |
6.8 本章小结 | 第61-62页 |
第七章 总结与展望 | 第62-64页 |
7.1 总结 | 第62页 |
7.2 展望 | 第62-64页 |
参考文献 | 第64-65页 |
致谢 | 第65-66页 |
攻读学位期间发表的学术论文 | 第66页 |