致谢 | 第5-6页 |
摘要 | 第6-7页 |
ABSTRACT | 第7页 |
1 引言 | 第11-16页 |
1.1 研究背景 | 第11页 |
1.2 研究现状 | 第11-13页 |
1.2.1 重新打包程序现状 | 第12页 |
1.2.2 重新打包检测研究现状 | 第12-13页 |
1.3 研究意义 | 第13页 |
1.4 主要工作 | 第13-14页 |
1.5 本论文组织结构 | 第14-16页 |
2 相关技术背景介绍 | 第16-34页 |
2.1 Android体系结构 | 第16-18页 |
2.1.1 Android系统架构 | 第16-18页 |
2.2 Android应用程序软件包结构 | 第18-23页 |
2.2.1 APK文件结构 | 第18-19页 |
2.2.2 classes.dex文件 | 第19-21页 |
2.2.3 AndroidManifest.xml文件 | 第21-23页 |
2.3 Android应用程序逆向工程 | 第23-27页 |
2.3.1 APK文件正向工程 | 第23-26页 |
2.3.2 Android逆向分析 | 第26-27页 |
2.4 Android应用程序重新打包技术 | 第27-29页 |
2.4.1 重新打包技术 | 第28页 |
2.4.2 合法应用程序到重新打包过程 | 第28-29页 |
2.5 Android应用程序分析方法 | 第29-32页 |
2.5.1 静态分析方法 | 第29-32页 |
2.5.2 动态分析方法 | 第32页 |
2.6 本章小结 | 第32-34页 |
3 静态分析方法设计 | 第34-41页 |
3.1 检测方法功能性需求 | 第34页 |
3.2 重新打包程序特征 | 第34-35页 |
3.3 基于特征值的检测方法设计 | 第35-38页 |
3.3.1 行权限特征值检测方法 | 第35-37页 |
3.3.2 数字签名的检测方法 | 第37-38页 |
3.3.3 Dalvik可执行文件相似性检验方法 | 第38页 |
3.4 评价规则和方法 | 第38-40页 |
3.5 本章小结 | 第40-41页 |
4 系统实现 | 第41-48页 |
4.1 功能性需求与非功能性需求分析 | 第41页 |
4.2 系统总体实现 | 第41-42页 |
4.3 特征提取模块 | 第42-43页 |
4.3.1 apktool对文件的处理 | 第42页 |
4.3.2 数字签名的提取 | 第42-43页 |
4.3.3 运行权限的提取 | 第43页 |
4.3.4 Dalvik可执行文件的提取 | 第43页 |
4.4 数字签名和运行权限比较分析模块 | 第43-44页 |
4.4.1 数字签名的比较分析方法 | 第43-44页 |
4.4.2 运行权限的比较分析方法 | 第44页 |
4.5 Dalvik可执行文件的相似性检验方法 | 第44-46页 |
4.6 评分模块 | 第46-47页 |
4.7 本章小结 | 第47-48页 |
5 系统测试与分析 | 第48-58页 |
5.1 测试的目的 | 第48页 |
5.2 测试内容 | 第48页 |
5.3 编码缺陷测试 | 第48-49页 |
5.4 特征提取测试 | 第49-52页 |
5.4.1 数字签名提取测试 | 第49-50页 |
5.4.2 permission提取测试 | 第50页 |
5.4.3 Dalvik可执行文件提取测试 | 第50-52页 |
5.5 模块化测试 | 第52-54页 |
5.5.1 特征提取模块测试 | 第52页 |
5.5.2 模糊哈希模块测试 | 第52-53页 |
5.5.3 评分系统模块测试 | 第53-54页 |
5.6 系统测试结果及分析 | 第54-57页 |
5.6.1 自制重新打包样本测试 | 第54-55页 |
5.6.2 应用市场程序测试分析 | 第55-57页 |
5.7 本章小结 | 第57-58页 |
6 结论 | 第58-60页 |
6.1 结论 | 第58-59页 |
6.2 展望 | 第59-60页 |
参考文献 | 第60-63页 |
作者简历 | 第63-65页 |
学位论文数据集 | 第65页 |