摘要 | 第1-6页 |
Abstract | 第6-9页 |
第一章 背景介绍 | 第9-15页 |
§1.1 反编译技术简介 | 第9页 |
§1.2 发展历史和现状 | 第9-12页 |
§1.3 本文的主要工作及内容安排 | 第12-15页 |
第二章 反编译技术综述 | 第15-26页 |
§2.1 运行时环境 | 第15-16页 |
§2.1.1 程序的机器代码格式 | 第15-16页 |
§2.1.2 运行时的堆栈结构 | 第16页 |
§2.1.3 机器代码中数据的存贮 | 第16页 |
§2.2 反编译过程的模块划分 | 第16-17页 |
§2.3 控制流分析 | 第17-21页 |
§2.3.1 控制流分析基本原理 | 第17-18页 |
§2.3.2 常用的高级控制结构 | 第18-19页 |
§2.3.3 区间理论 | 第19页 |
§2.3.4 可归约控制流图的结构化算法 | 第19-20页 |
§2.3.5 不可归约控制流图的结构化算法 | 第20-21页 |
§2.3.6 总结 | 第21页 |
§2.4 数据类型恢复问题简介 | 第21页 |
§2.5 库函数识别 | 第21-22页 |
§2.6 反编译过程中的其他模块 | 第22-25页 |
§2.6.1 反汇编 | 第22-23页 |
§2.6.2 语言和编译器版本识别 | 第23页 |
§2.6.3 中间语言 | 第23页 |
§2.6.4 数据流分析 | 第23-25页 |
§2.6.5 翻译器 | 第25页 |
§2.7 总结 | 第25-26页 |
第三章 数据类型恢复算法及其理论基础 | 第26-49页 |
§3.1 概述 | 第26-27页 |
§3.2 数据类型恢复问题的研究方法 | 第27-28页 |
§3.3 数据类型恢复算法的理论基础 | 第28-34页 |
§3.3.1 两个模型语言的形式化定义 | 第28-31页 |
§3.3.2 编译器本质及局部性原理 | 第31-34页 |
§3.4 Assembly-Sub的类型系统及其类型恢复算法 | 第34-42页 |
§3.5 数据类型恢复算法实例分析 | 第42-47页 |
§3.6 class类型识别的讨论 | 第47-49页 |
第四章 数据类型恢复算法的实现技术 | 第49-57页 |
§4.1 Lex和Yacc在数据类型信息收集中的应用 | 第49-53页 |
§4.2 对数据类型信息进行综合分析的实现 | 第53-54页 |
§4.3 一些特殊的变量类型的识别 | 第54-55页 |
§4.4 与其它数据类型恢复技术的比较 | 第55-57页 |
第五章 结论及进一步的工作 | 第57-59页 |
§5.1 结论 | 第57-58页 |
§5.2 进一步的工作 | 第58-59页 |
参考文献 | 第59页 |