多源反编译中控制流重构技术研究
摘要 | 第4-5页 |
Abstract | 第5页 |
目录 | 第6-8页 |
图录 | 第8-9页 |
表录 | 第9-10页 |
第一章 绪论 | 第10-20页 |
1.1 研究背景和意义 | 第10-11页 |
1.2 国内外研究现状分析 | 第11-17页 |
1.2.1 反编译器和二进制分析平台 | 第12-14页 |
1.2.2 控制流重构技术 | 第14-17页 |
1.3 研究内容 | 第17-18页 |
1.4 论文结构安排 | 第18-20页 |
第二章 多源反编译基础 | 第20-32页 |
2.1 多源反汇编 | 第20-23页 |
2.1.1 反汇编技术 | 第20-22页 |
2.1.2 进制文件描述库BFD | 第22-23页 |
2.2 典型中间语言分析 | 第23-26页 |
2.2.1 dcc的中间语言LLIL和HLIL | 第23-24页 |
2.2.2 寄存器转换列表RTL | 第24页 |
2.2.3 反编译器DECLER的中间语言 | 第24页 |
2.2.4 BRIL中间语言 | 第24-26页 |
2.3 二进制分析中间语言BAIL | 第26-30页 |
2.3.1 BAIL的设计 | 第26页 |
2.3.2 BAIL文法介绍 | 第26-29页 |
2.3.3 BAIL的操作语义 | 第29-30页 |
2.4 本章小结 | 第30-32页 |
第三章 多源反编译中控制流图构建 | 第32-46页 |
3.1 多源汇编代码到VEX中间语言表示 | 第32-34页 |
3.2 VEX中间语言到BAIL中间表示的转换 | 第34-37页 |
3.2.1 代码变换技术 | 第35页 |
3.2.2 基于语义字典的代码变换 | 第35-37页 |
3.3 基于平台无关中间语言的控制流图构建 | 第37-43页 |
3.3.1 基于中间语言块的控制流图构建 | 第38-41页 |
3.3.2 基于中间语言基本块的控制流图构建 | 第41-43页 |
3.4 本章小结 | 第43-46页 |
第四章 基于动态执行的多源控制流图修正 | 第46-58页 |
4.1 基于动态执行的多源控制流图修正框架 | 第46-47页 |
4.2 基于部分路径约束的动态路径生成 | 第47-54页 |
4.2.1 部分路径集合构建 | 第47-49页 |
4.2.2 基于路径约束的STP求解 | 第49-53页 |
4.2.3 动态路径生成 | 第53-54页 |
4.3 间接分支指令目标地址识别 | 第54-57页 |
4.3.1 基本块签名 | 第55-56页 |
4.3.2 二次匹配算法 | 第56-57页 |
4.4 本章小结 | 第57-58页 |
第五章 原型系统与验证 | 第58-68页 |
5.1 原型系统 | 第58-62页 |
5.1.1 多源反汇编模块 | 第59-60页 |
5.1.2 指令转换模块 | 第60-61页 |
5.1.3 控制流重构模块 | 第61-62页 |
5.2 功能验证 | 第62-66页 |
5.2.1 验证环境和测试用例 | 第62-63页 |
5.2.2 代码转换功能验证 | 第63-64页 |
5.2.3 多源的验证 | 第64-65页 |
5.2.4 控制流重构功能验证 | 第65-66页 |
5.3 本章小结 | 第66-68页 |
第六章 结论 | 第68-70页 |
6.1 工作总结 | 第68-69页 |
6.2 研究展望 | 第69-70页 |
致谢 | 第70-72页 |
参考文献 | 第72-76页 |
附录 | 第76-77页 |
作者简历 | 第77页 |