摘要 | 第4-6页 |
Abstract | 第6-7页 |
第1章 绪论 | 第10-14页 |
1.1 研究背景及意义 | 第10-11页 |
1.2 国内外研究现状 | 第11-12页 |
1.3 本文主要研究内容 | 第12页 |
1.4 本文组织结构 | 第12-14页 |
第2章 背景知识介绍 | 第14-28页 |
2.1 NFC概述 | 第14-17页 |
2.1.1 NFC技术 | 第14-15页 |
2.1.2 NFC应用场景与工作模式 | 第15-17页 |
2.2 Android中的NFC相关技术 | 第17-20页 |
2.2.1 Android中NFC概述 | 第17-18页 |
2.2.2 Android中与NFC相关的AID | 第18-20页 |
2.3 Android应用程序与逆向反编译 | 第20-26页 |
2.3.1 Android应用程序整体结构 | 第20-21页 |
2.3.2 apk文件正向打包过程 | 第21-23页 |
2.3.3 Android代码的反编译 | 第23-26页 |
2.4 Android应用程序静态分析技术与工具 | 第26-27页 |
2.5 本章小结 | 第27-28页 |
第3章 冗余AID静态分析 | 第28-40页 |
3.1 研究动机 | 第28-29页 |
3.2 冗余AID静态分析框架 | 第29-30页 |
3.3 获取轻量级FCG和CFG | 第30-33页 |
3.4 生成带标注的轻量级CFG | 第33-35页 |
3.4.1 获取有效字符串 | 第33-34页 |
3.4.2 标注CFG | 第34-35页 |
3.5 带有标注的CFG与?-NFA模型等价转换 | 第35-37页 |
3.6 AID分析 | 第37-38页 |
3.7 本章小结 | 第38-40页 |
第4章 NFC软件特定空指针异常风险评估 | 第40-48页 |
4.1 研究动机 | 第40-41页 |
4.2 目标软件 | 第41-42页 |
4.3 NFC软件特定空指针异常分析框架 | 第42-43页 |
4.4 NFC操作相关语句及其间距 | 第43-44页 |
4.5 空指针异常风险指标 | 第44-47页 |
4.5.1 目标函数调用与其返回值判断语句间距最小值(The length between target statement and judge statement简称LTJ) | 第44-46页 |
4.5.2 触发函数与其触发前判断语句间距平均值(The length between judge statement and trigger statement简称LJT) | 第46-47页 |
4.5.3 NFC软件特定空指针异常风险指标(Risk Length简称RL) | 第47页 |
4.6 本章小结 | 第47-48页 |
第5章 工具及实验 | 第48-56页 |
5.1 NFC软件冗余AID静态分析工具 | 第48-52页 |
5.1.1 工具运行举例说明 | 第48-50页 |
5.1.2 实验数据来源 | 第50页 |
5.1.3 实验结果及分析 | 第50-52页 |
5.2 NFC软件特定空指针异常风险评估工具 | 第52-55页 |
5.2.1 工具运行举例说明 | 第52-53页 |
5.2.2 实验数据来源 | 第53页 |
5.2.3 实验结果及分析 | 第53-55页 |
5.3 本章小结 | 第55-56页 |
结论 | 第56-58页 |
参考文献 | 第58-62页 |
攻读硕士学位期间发表的学术论文 | 第62-64页 |
致谢 | 第64页 |