反编译中数据类型重构技术研究
表目录 | 第6-7页 |
图目录 | 第7-9页 |
摘要 | 第9-10页 |
ABSTRACT | 第10页 |
第一章 绪论 | 第11-17页 |
1.1 研究背景及意义 | 第11-13页 |
1.2 国内外相关技术研究现状 | 第13-15页 |
1.3 主要研究内容 | 第15-16页 |
1.4 论文结构安排 | 第16-17页 |
第二章 类型重构的研究基础 | 第17-24页 |
2.1 二进制代码解析 | 第17-18页 |
2.2 中间语言BIL | 第18-20页 |
2.3 中间代码优化 | 第20-22页 |
2.4 类型重构框架 | 第22页 |
2.5 本章小结 | 第22-24页 |
第三章 基本数据类型重构 | 第24-43页 |
3.1 数据类型信息的来源 | 第24-25页 |
3.2 基于函数调用的类型信息提取 | 第25-30页 |
3.2.1 库函数的识别 | 第25-27页 |
3.2.2 类型信息的匹配 | 第27-30页 |
3.3 基于指令特征的类型信息提取 | 第30-36页 |
3.3.1 基本思想 | 第30-32页 |
3.3.2 类型分析对象 | 第32-33页 |
3.3.3 类型属性提取规则 | 第33-36页 |
3.4 基于规则的类型推导 | 第36-42页 |
3.4.1 中间指令的变换 | 第36-37页 |
3.4.2 类型属性的推导 | 第37-40页 |
3.4.3 类型重构算法 | 第40-42页 |
3.5 本章小结 | 第42-43页 |
第四章 类型信息的精确化 | 第43-57页 |
4.1 基于程序运行时信息的类型判定 | 第43-47页 |
4.1.1 指针的歧义问题 | 第43-44页 |
4.1.2 内存取值的剖析 | 第44-47页 |
4.2 基于数据流分析的类型传播 | 第47-55页 |
4.2.1 类型传播分类 | 第48页 |
4.2.2 类型传播框架 | 第48-51页 |
4.2.3 类型传播实现 | 第51-55页 |
4.3 本章小结 | 第55-57页 |
第五章 复杂数据类型重构 | 第57-70页 |
5.1 高级语言中的复杂数据类型 | 第57-60页 |
5.1.1 存储方式分析 | 第57-58页 |
5.1.2 寻址方式分析 | 第58-60页 |
5.2 复杂数据类型分析 | 第60-64页 |
5.2.1 构建标记等价集合 | 第60-62页 |
5.2.2 聚集结构的识别 | 第62-64页 |
5.3 算法实现及实例分析 | 第64-68页 |
5.3.1 数组重构 | 第65-66页 |
5.3.2 嵌套结构重构 | 第66-68页 |
5.4 复杂数据类型的二义性分析 | 第68-69页 |
5.5 本章小结 | 第69-70页 |
第六章 测试与结论 | 第70-76页 |
6.1 测试概述 | 第70-71页 |
6.1.1 测试的环境 | 第70-71页 |
6.1.2 测试的对象 | 第71页 |
6.1.3 测试的方法及目标 | 第71页 |
6.2 评估标准 | 第71-72页 |
6.3 测试结果分析 | 第72-75页 |
6.3.1 静态结果分析 | 第72-74页 |
6.3.2 动态结果分析 | 第74-75页 |
6.4 本章小结 | 第75-76页 |
结束语 | 第76-78页 |
参考文献 | 第78-81页 |
作者简历 攻读硕士学位期间完成的主要工作 | 第81-82页 |
致谢 | 第82页 |