逆编译中几项关键技术研究
第一章 绪论 | 第1-24页 |
·逆编译简介 | 第16-17页 |
·定义 | 第16页 |
·产生背景 | 第16-17页 |
·作用 | 第17-18页 |
·研究历史及现状 | 第18-21页 |
·研究方法 | 第21-23页 |
·基于文法的方法 | 第21-22页 |
·基于生成编译器的逻辑程序设计 | 第22页 |
·基于知识的逆编译 | 第22页 |
·逆编译器的编译器 | 第22-23页 |
·本章小结 | 第23-24页 |
第二章 关键问题和解决办法 | 第24-32页 |
·引言 | 第24-25页 |
·存在的关键问题 | 第25-28页 |
·用户库函数识别研究空白 | 第25-26页 |
·开关结构恢复需人工干预 | 第26-27页 |
·部分复合数据类型恢复的准确性有待提高 | 第27-28页 |
·缺乏利用中间结果的工具 | 第28页 |
·本文研究内容和创新点 | 第28-31页 |
·用户库函数识别 | 第29页 |
·开关结构的自动恢复 | 第29-30页 |
·按特征恢复数据类型 | 第30页 |
·中间语言规范描述及其编译器的设计和实现 | 第30-31页 |
·本章小结 | 第31-32页 |
第三章 用户库函数识别 | 第32-52页 |
·引言 | 第32-33页 |
·意义 | 第32-33页 |
·创新点 | 第33页 |
·用户库函数识别模型 | 第33-35页 |
·库函数存储特征 | 第35-36页 |
·代码特征分析 | 第35页 |
·符号信息分析 | 第35-36页 |
·获取库函数符号信息 | 第36-48页 |
·asm代码分析 | 第37-39页 |
·out中间代码 | 第39-40页 |
·符号表 | 第40-41页 |
·asm到out | 第41-44页 |
·out到高级语言 | 第44页 |
·实用结果 | 第44-48页 |
·可执行文件中的库函数存储特性及识别模板构造 | 第48-50页 |
·特征冲突 | 第50-51页 |
·实用结果讨论 | 第51页 |
·本章小结 | 第51-52页 |
第四章 开关结构的自动恢复 | 第52-74页 |
·引言 | 第52-53页 |
·意义 | 第52页 |
·创新点 | 第52-53页 |
·开关结构在目标代码中的存储特点 | 第53-61页 |
·开关结构的语法 | 第53-54页 |
·开关结构及开关表 | 第54-61页 |
·提取开关结构引导区中信息 | 第61-66页 |
·开关结构引导区的确定 | 第61-62页 |
·模式语言GEMPL | 第62-63页 |
·使用模式语言描述开关结构引导区 | 第63-65页 |
·利用模式语言增添模板库内容 | 第65-66页 |
·开关结构引导区的匹配和转换 | 第66-70页 |
·开关结构引导区匹配算法 | 第66-67页 |
·目标代码中开关结构的程序流图表示 | 第67-68页 |
·开关结构引导区的转换 | 第68-70页 |
·中间代码到高级结构变换 | 第70-72页 |
·实验结果和比较讨论 | 第72-73页 |
·本章小结 | 第73-74页 |
第五章 按特征恢复数据类型 | 第74-88页 |
·引言 | 第74-75页 |
·意义 | 第74页 |
·创新点 | 第74-75页 |
·变量单元的寻址表达式合并化简 | 第75-76页 |
·变量存储单元的各种特征说明 | 第76-79页 |
·主要特征项 | 第76-78页 |
·特征项及特征项值的计算 | 第78-79页 |
·规则表 | 第79-80页 |
·使用效果 | 第80-82页 |
·二义性讨论 | 第82-83页 |
·形实结合和指针变量链传送 | 第83页 |
·纯变量下标的数组类型恢复 | 第83-87页 |
·问题的提出 | 第83页 |
·数组类型寻址表达式形式 | 第83-85页 |
·寻址表达式优化 | 第85页 |
·数组信息的收集与分析 | 第85-86页 |
·实验结果 | 第86-87页 |
·结论 | 第87页 |
·本章小结 | 第87-88页 |
第六章 中间语言及其编译器的设计 | 第88-110页 |
·引言 | 第88-89页 |
·意义 | 第88-89页 |
·创新点 | 第89页 |
·中间语言 | 第89-91页 |
·程序结构 | 第89-90页 |
·主要语句的语义 | 第90页 |
·中间语言的特点 | 第90-91页 |
·数据类型 | 第91-93页 |
·局部变量 | 第91页 |
·形式参数 | 第91-92页 |
·全局变量 | 第92页 |
·复合地址表达式 | 第92页 |
·复合寻址表达式合并化简 | 第92-93页 |
·编译器的框架 | 第93-94页 |
·符号表 | 第94-99页 |
·系统符号表 | 第94-95页 |
·用户标识符表 | 第95页 |
·全局变量表 | 第95-96页 |
·局部变量表 | 第96-97页 |
·用户函数表 | 第97页 |
·变量初始化和常量存储 | 第97页 |
·标号表 | 第97-98页 |
·开关结构表 | 第98-99页 |
·语义程序的构造 | 第99-104页 |
·代码翻译 | 第99-102页 |
·语法和语义分析程序 | 第102-104页 |
·存储分配 | 第104页 |
·目标代码的生成 | 第104-105页 |
·实验结果及讨论 | 第105-109页 |
·实验例 | 第105-109页 |
·讨论 | 第109页 |
·本章小结 | 第109-110页 |
第七章 存在的问题和未来工作 | 第110-113页 |
·存在的问题 | 第110-111页 |
·进一步工作 | 第111-113页 |
第八章 结束语 | 第113-114页 |
攻读博士学位期间发表的论文 | 第114-115页 |
攻读博士学位期间参加的科研课题 | 第115-116页 |
致谢 | 第116-117页 |
参考文献 | 第117-125页 |
附录 | 第125-126页 |