表目录 | 第7-8页 |
图目录 | 第8-10页 |
摘要 | 第10-11页 |
ABSTRACT | 第11页 |
第一章 绪论 | 第13-20页 |
1.1 研究背景 | 第13-15页 |
1.2 研究现状 | 第15-17页 |
1.3 研究内容与意义 | 第17-18页 |
1.3.1 课题来源与研究内容 | 第17-18页 |
1.3.2 研究意义 | 第18页 |
1.4 论文组织结构 | 第18-20页 |
第二章 面向二进制代码分析的指令集模拟框架 | 第20-29页 |
2.1 指令集模拟策略 | 第20-22页 |
2.2 多目标指令集模拟相关技术 | 第22-25页 |
2.2.1 基于描述模板的模拟器快速生成技术 | 第23-24页 |
2.2.2 基于插件的模拟器构建技术 | 第24页 |
2.2.3 基于虚拟指令集的模拟器构建技术 | 第24-25页 |
2.3 指令集模拟框架建立 | 第25-28页 |
2.3.1 预处理 | 第26-27页 |
2.3.2 指令解码 | 第27页 |
2.3.3 指令翻译 | 第27页 |
2.3.4 虚拟指令模拟 | 第27-28页 |
2.4 本章小结 | 第28-29页 |
第三章 虚拟指令集体系结构研究与设计 | 第29-41页 |
3.1 目标指令集体系结构分析 | 第29-34页 |
3.1.1 MCS-51 指令集体系结构 | 第29-31页 |
3.1.2 ARM 指令集体系结构 | 第31-33页 |
3.1.3 IA-32 指令集体系结构 | 第33-34页 |
3.2 V-ISA 的设计目标及特征分析 | 第34-35页 |
3.2.1 设计目标 | 第34-35页 |
3.2.2 V-ISA 特征分析 | 第35页 |
3.3 基于指令扩展的虚拟指令集构建方法 | 第35-37页 |
3.3.1 最小完备指令集求解 | 第35-36页 |
3.3.2 指令集扩展 | 第36-37页 |
3.4 可扩展虚拟指令集体系结构 EVISA 的设计 | 第37-40页 |
3.4.1 可配置的虚拟硬件结构 | 第37-39页 |
3.4.2 EVISA 的指令集 | 第39-40页 |
3.5 本章小结 | 第40-41页 |
第四章 基于规则推理的虚拟指令翻译 | 第41-55页 |
4.1 问题描述 | 第41-42页 |
4.2 状态映射 | 第42-46页 |
4.2.1 寄存器映射 | 第42-45页 |
4.2.2 存储器映射 | 第45-46页 |
4.2.3 I/O 映射 | 第46页 |
4.3 规则推理与虚拟指令翻译 | 第46-48页 |
4.4 基于规则推理的翻译器设计与实现 | 第48-54页 |
4.4.1 总体结构 | 第48-49页 |
4.4.2 规则库 | 第49-51页 |
4.4.3 推理机 | 第51-54页 |
4.5 本章小结 | 第54-55页 |
第五章 基于 EVISA 的指令集模拟器设计与实现 | 第55-69页 |
5.1 模拟器总体结构 | 第55-56页 |
5.2 执行模块的设计与实现 | 第56-58页 |
5.3 调试模块的设计与实现 | 第58-63页 |
5.3.1 基于多线程的模拟控制 | 第59-61页 |
5.3.2 断点的设置和管理 | 第61-62页 |
5.3.3 快照保存 | 第62-63页 |
5.4 显示模块的设计与实现 | 第63-66页 |
5.4.1 资源显示 | 第63-65页 |
5.4.2 断点显示和已执行代码标注 | 第65-66页 |
5.5 二进制代码分析接口设计与实现 | 第66-67页 |
5.5.1 二进制逆向工程 | 第66页 |
5.5.2 二进制特征提取 | 第66-67页 |
5.6 本章小结 | 第67-69页 |
第六章 应用与测试 | 第69-81页 |
6.1 多目标固件代码分析平台 | 第69-70页 |
6.2 测试与结果分析 | 第70-81页 |
6.2.1 测试环境 | 第70-71页 |
6.2.2 测试内容与方案 | 第71页 |
6.2.3 测试步骤与结果分析 | 第71-81页 |
结束语 | 第81-83页 |
参考文献 | 第83-87页 |
附录 部分 EVISA 指令 | 第87-89页 |
作者简历 攻读硕士学位期间完成的主要工作 | 第89-90页 |
致谢 | 第90页 |