| 摘要 | 第4-5页 |
| ABSTRACT | 第5-6页 |
| 第1章 绪论 | 第10-15页 |
| 1.1 课题背景及研究的目的和意义 | 第10-11页 |
| 1.2 与本课题有关的国内外研究状况 | 第11-14页 |
| 1.2.1 Android漏洞相关研究 | 第11-12页 |
| 1.2.2 Android漏洞扫描方法相关研究 | 第12-14页 |
| 1.3 本文的主要研究内容 | 第14-15页 |
| 第2章 漏洞扫描系统需求分析与系统设计 | 第15-42页 |
| 2.1 漏洞扫描系统基本需求分析 | 第15页 |
| 2.2 漏洞扫描系统功能需求 | 第15-17页 |
| 2.3 漏洞扫描系统性能需求分析 | 第17页 |
| 2.4 漏洞扫描系统概要设计 | 第17-19页 |
| 2.5 漏洞扫描系统结构设计 | 第19-22页 |
| 2.6 APK反编译模块详细设计 | 第22-30页 |
| 2.6.1 APK包简述 | 第22-23页 |
| 2.6.2 AndroidManifest.xml文件解析 | 第23-25页 |
| 2.6.3 Classes.dex文件解析 | 第25-30页 |
| 2.7 漏洞引擎模块详细设计 | 第30-33页 |
| 2.7.1 静态DVM引擎详细设计 | 第30-32页 |
| 2.7.2 字符串搜索引擎详细设计 | 第32-33页 |
| 2.7.3 过滤引擎详细设计 | 第33页 |
| 2.8 漏洞向量库模块详细设计 | 第33-38页 |
| 2.8.1 全局可读写漏洞 | 第34-35页 |
| 2.8.2 ContentProvider文件目录遍历漏洞 | 第35-36页 |
| 2.8.3 WebView组件暴露漏洞 | 第36-37页 |
| 2.8.4 SSL漏洞 | 第37页 |
| 2.8.5 隐式广播漏洞 | 第37-38页 |
| 2.8.6 动态注册未受保护广播接收者漏洞 | 第38页 |
| 2.8.7 允许调试漏洞 | 第38页 |
| 2.9 重新检测打包模块详细设计 | 第38-40页 |
| 2.10 批量扫描模块详细设计 | 第40-41页 |
| 2.11 本章小结 | 第41-42页 |
| 第3章 漏洞扫描系统的实现 | 第42-75页 |
| 3.1 APK反编译模块实现 | 第42-49页 |
| 3.1.1 AndroidManifest.xml文件解析 | 第42-44页 |
| 3.1.2 Classes.dex文件解析 | 第44-49页 |
| 3.2 漏洞引擎模块实现 | 第49-52页 |
| 3.2.1 静态DVM引擎模块实现 | 第49-50页 |
| 3.2.2 字符串搜索引擎模块实现 | 第50-51页 |
| 3.2.3 过滤引擎模块实现 | 第51-52页 |
| 3.3 漏洞向量库模块实现 | 第52-66页 |
| 3.3.1 全局可读写漏洞 | 第52-54页 |
| 3.3.2 ContentProvider文件目录遍历漏洞 | 第54-56页 |
| 3.3.3 WebView组件暴露漏洞 | 第56-59页 |
| 3.3.4 SSL漏洞 | 第59-63页 |
| 3.3.5 隐式广播漏洞 | 第63-65页 |
| 3.3.6 动态注册未受保护广播接收器漏洞 | 第65-66页 |
| 3.3.7 允许调试漏洞 | 第66页 |
| 3.4 重新打包检测模块实现 | 第66-73页 |
| 3.5 批量扫描模块实现 | 第73-74页 |
| 3.6 本章小结 | 第74-75页 |
| 第4章 漏洞扫描系统的测试 | 第75-84页 |
| 4.1 测试方案 | 第75页 |
| 4.2 功能测试 | 第75-79页 |
| 4.2.1 apk反编译模块测试 | 第75-76页 |
| 4.2.2 漏洞引擎模块测试 | 第76-78页 |
| 4.2.3 漏洞模块测试 | 第78页 |
| 4.2.4 重新检测模块测试 | 第78-79页 |
| 4.2.5 批量扫描模块测试 | 第79页 |
| 4.3 性能测试 | 第79-81页 |
| 4.4 测试结论 | 第81-83页 |
| 4.5 本章小结 | 第83-84页 |
| 结论 | 第84-85页 |
| 参考文献 | 第85-90页 |
| 致谢 | 第90-91页 |
| 个人简历 | 第91页 |