| 摘要 | 第3-5页 |
| Abstract | 第5-6页 |
| 第1章 绪论 | 第9-18页 |
| 1.1 课题研究背景与意义 | 第9-10页 |
| 1.2 国内外研究现状 | 第10-12页 |
| 1.3 本文的研究动机 | 第12-14页 |
| 1.4 本文的主要研究内容 | 第14-16页 |
| 1.5 本文的组织结构 | 第16-18页 |
| 第2章 相关理论知识 | 第18-24页 |
| 2.1 二进制代码与汇编指令 | 第18-19页 |
| 2.2 类型系统 | 第19-20页 |
| 2.3 子类型关系 | 第20页 |
| 2.4 类型恢复 | 第20-21页 |
| 2.5 DU链、UD链和静态单赋值形式 | 第21-24页 |
| 第3章 二进制代码的类型恢复方法 | 第24-44页 |
| 3.1 整体流程 | 第24-25页 |
| 3.2 类型格 | 第25页 |
| 3.3 二进制代码分析 | 第25-38页 |
| 3.3.1 目标变量的恢复 | 第27-32页 |
| 3.3.2 提取与目标变量相关的指令 | 第32-35页 |
| 3.3.3 特征的选择和向量表示 | 第35-38页 |
| 3.4 分类器的训练 | 第38-39页 |
| 3.5 基本类型的预测 | 第39-40页 |
| 3.6 复合类型的恢复 | 第40-43页 |
| 3.6.1 指针 | 第40-42页 |
| 3.6.2 结构 | 第42-43页 |
| 3.7 本章小结 | 第43-44页 |
| 第4章 恶意软件检测 | 第44-51页 |
| 4.1 恶意软件检测介绍 | 第44-45页 |
| 4.2 恶意软件检测的整体流程 | 第45-46页 |
| 4.3 特征提取器 | 第46-49页 |
| 4.3.1 反汇编与类型恢复 | 第46页 |
| 4.3.2 信息提取 | 第46-48页 |
| 4.3.3 程序的向量表示 | 第48-49页 |
| 4.4 分类器 | 第49-50页 |
| 4.5 本章小结 | 第50-51页 |
| 第5章 实验结果与评价 | 第51-65页 |
| 5.1 不同分类器的实验结果 | 第51-53页 |
| 5.2 BITY与Hex-Rays、Snowman的对比实验 | 第53-59页 |
| 5.3 BITY对不同规模程序的性能测评实验 | 第59-60页 |
| 5.4 恶意软件检测实验 | 第60-64页 |
| 5.4.1 不同特征的实验结果 | 第60-62页 |
| 5.4.2 新恶意软件样本的检测结果 | 第62-63页 |
| 5.4.3 抗混淆技术测试实验 | 第63-64页 |
| 5.5 本章小结 | 第64-65页 |
| 第6章 总结与展望 | 第65-66页 |
| 6.1 总结 | 第65页 |
| 6.2 展望 | 第65-66页 |
| 参考文献 | 第66-70页 |
| 致谢 | 第70-71页 |
| 攻读硕士学位期间的研究成果 | 第71页 |