反编译中处理分支指令的关键技术研究与实现
| 表目录 | 第1-8页 |
| 图目录 | 第8-9页 |
| 摘要 | 第9-10页 |
| ABSTRACT | 第10-11页 |
| 第一章 绪论 | 第11-17页 |
| ·反编译简介 | 第11-15页 |
| ·反编译的建立与发展 | 第11-13页 |
| ·反编译的分类 | 第13页 |
| ·反编译的研究方法和应用前景 | 第13-14页 |
| ·反编译与二进制翻译 | 第14-15页 |
| ·课题来源 | 第15-16页 |
| ·研究内容 | 第16页 |
| ·论文的结构安排 | 第16-17页 |
| 第二章 指令解码器概述 | 第17-25页 |
| ·相关概念 | 第17-19页 |
| ·控制流图 | 第17页 |
| ·基本块 | 第17-18页 |
| ·低级中间表示RTL | 第18页 |
| ·高级中间表示HRTL | 第18-19页 |
| ·IA-64的指令特性 | 第19-20页 |
| ·指令解码器的设计 | 第20-24页 |
| ·指令解码算法 | 第20-22页 |
| ·指令束特性的消除 | 第22-24页 |
| ·分支指令对指令解码的影响 | 第24页 |
| ·小结 | 第24-25页 |
| 第三章 间接跳转分支指令的处理 | 第25-35页 |
| ·关于间接跳转分支指令 | 第25-26页 |
| ·N-条件分支的间接跳转 | 第25-26页 |
| ·非n-条件分支的间接跳转 | 第26页 |
| ·对n-条件分支的间接跳转的处理 | 第26-33页 |
| ·切片 | 第27-28页 |
| ·表达式置换 | 第28页 |
| ·跳转表恢复实例 | 第28-32页 |
| ·跳转表恢复算法 | 第32-33页 |
| ·对非n-条件分支的间接跳转的处理 | 第33-34页 |
| ·具体实现 | 第33-34页 |
| ·测试验证 | 第34页 |
| ·小结 | 第34-35页 |
| 第四章 间接过程调用的恢复 | 第35-45页 |
| ·间接过程调用问题 | 第35-36页 |
| ·使用解释器的解决方法 | 第35页 |
| ·使用解释器的不足 | 第35-36页 |
| ·不使用解释器的前提条件 | 第36页 |
| ·间接过程调用的约定 | 第36-37页 |
| ·间接过程调用的恢复 | 第37-44页 |
| ·间接调用静态链接函数 | 第37-39页 |
| ·间接调用动态链接库函数 | 第39-44页 |
| ·回调函数的参数恢复 | 第44页 |
| ·小结 | 第44-45页 |
| 第五章 过程间跳转分支指令的处理 | 第45-50页 |
| ·尾调用优化 | 第45-46页 |
| ·反尾调用优化 | 第46-49页 |
| ·alloc指令 | 第47-48页 |
| ·无条件跳转分支的类型判定 | 第48-49页 |
| ·参数和返回值的恢复. | 第49页 |
| ·小结 | 第49-50页 |
| 第六章 实验与测试分析 | 第50-53页 |
| ·SPEC CINT2000测试情况 | 第50-52页 |
| ·间接跳转分支处理的测试 | 第51页 |
| ·间接过程调用恢复的测试 | 第51-52页 |
| ·过程间跳转类型判定的测试 | 第52页 |
| ·测试结论 | 第52-53页 |
| 结束语 | 第53-55页 |
| 参考文献 | 第55-58页 |
| 作者简历 攻读硕士学位期间完成的主要工作 | 第58-59页 |
| 致谢 | 第59页 |