学位论文 > 优秀研究生学位论文题录展示

基于动态二进制翻译技术的反编译研究

作 者: 张柏年
导 师: 邹恒明;戚正伟
学 校: 上海交通大学
专 业: 软件工程
关键词: 反编译 动态二进制翻译 动态分析 静态分析
分类号: TP314
类 型: 硕士论文
年 份: 2008年
下 载: 161次
引 用: 1次
阅 读: 论文下载
 

内容摘要


反编译是将使用低级语言表示的程序代码变换成与其功能等价的高级语言程序代码的过程,是编译的逆过程。它对于软件的移植、理解喝维护都起着重要作用。反编译的结果可以用于寻找程序中包含的恶意代码、bug和脆弱点,揭示程序的内部互操作机制。现有的基于静态分析技术的二进制代码反编译器具有很多理论上的局限性,包括不能有效的处理间接跳转和间接过程调用,不能进行精确的指针别名分析,需要对目标程序的代码结构做一定的假设等等。本文描述的反编译基础系统采用基于二进制翻译技术的动态分析方法,通过准确地记录程序实际的执行路径和变量关系,能较好地解决控制流混淆和二进制代码的动态指针别名分析问题。静态反编译由于无法获得程序实际执行时的输入,因此需要假设任何可能的输入和执行路径都是有效的。实际上程序中可能存在不可达路径,反编译器通常只会做保守地选择。保守的分析会使得反编译器产生执行效率较低或者可读性较差的代码,甚至导致分析失败。与静态反编译不同,本文描述的动态反编译方法可以准确获知程序执行时的输入和执行路径,因此可以针对当前的输入(实际上是与当前输入等价的一类输入)做最优的选择。使用这一方法得到的反编译结果更接近程序实际执行时的逻辑,但可能无法处理未测试的输入。本研究的主要贡献在于:1.基于Linux下的动态二进制翻译平台valgrind,实现了反编译器基础平台Dynamic Analyzer,论证了动态反编译器实现的可行性。2.使用动态控制流图构造方法,与静态构造方法相比能有效地解决目标地址获取和控制流混淆问题。3.提出了面向二进制代码的动态指针别名分析算法,有效地提高了反编译结果的准确性。4.改进了影子堆栈技术,能够更精确地识别虚假的子过程调用。

全文目录


摘要  5-6
ABSTRACT  6-10
第一章 绪论  10-16
  1.1 介绍  10-11
  1.2 反编译技术的应用  11-13
  1.3 反编译技术的发展历史  13-15
  1.4 当前面临的问题  15
  1.5 本文组织结构  15-16
第二章 反编译技术综述  16-28
  2.1 可执行代码  16
  2.2 变量分析  16-18
    2.2.1 二进制代码与源代码变量间的关系  17-18
  2.3 类型分析  18-22
    2.3.1 类型信息来源  19
    2.3.2 指定常量的类型  19
    2.3.3 类型约束  19-20
    2.3.4 基于数据流的类型分析  20-21
    2.3.5 静态变量,动态变量与聚合类型  21-22
  2.4 表达式分析  22-24
    2.4.1 表达式融合  22-23
    2.4.2 表达式传播  23
    2.4.3 有限传播  23-24
  2.5 控制结构分析  24
  2.6 函数,参数/返回值识别  24-25
    2.6.1 函数识别  24-25
    2.6.2 参数/返回值识别  25
  2.7 编译器识别  25
  2.8 库函数识别  25-27
    2.8.1 静态库函数识别  26
    2.8.2 动态库函数识别  26-27
  2.9 本章小结  27-28
第三章 静态反编译及其局限性  28-33
  3.1 静态分析  28
  3.2 动态分析  28
  3.3 静态分析与动态分析比较  28-29
  3.4 静态反编译的局限性  29-32
    3.4.1 区分代码和数据  30
    3.4.2 区别常量与指针  30-31
    3.4.3 指针别名分析  31-32
    3.4.4 其他问题  32
  3.5 本章小结  32-33
第四章 DYNAMIC ANALYZER 设计与实现  33-49
  4.1 可执行代码分析工具DYNAMIC ANALYZER  33-34
  4.2 动态翻译与调试  34-35
  4.3 动态构造控制流图  35-39
  4.4 影子堆栈  39-41
  4.5 指针别名分析  41-46
  4.6 异常,线程,和信号处理  46-47
  4.7 动态反编译得与失  47-48
  4.8 本章小结  48-49
第五章 全文总结  49-50
  5.1 主要结论  49
  5.2 研究展望  49-50
参考文献  50-52
攻读硕士学位期间已发表或录用的论文  52-53
攻读硕士学位期间参与的科研项目  53-54
致谢  54

相似论文

  1. 猪细小病毒河南流行株的分离、鉴定及部分生物学特性研究,S852.65
  2. 日本小学音乐科教材分析研究,G623.71
  3. 基于多粒度依赖关系图的变更影响分析方法研究,TP311.53
  4. 永磁接触器设计及静动态特性分析,TM572.1
  5. 基于多样化对象所有权的软件可信性质研究,TP311.52
  6. 基于隔离环境的恶意软件网络行为监测与分析,TP393.08
  7. 嵌入式环境下代码动态性能分析的研究与实现,TP368.1
  8. 微小型机床的结构参数优化及动态特性分析,TG502.31
  9. 方滑枕变形处理及补偿的研究,TG548
  10. 长距离大运量胶带输送机动态特性研究,TD528.1
  11. 基于粒子群优化算法的电梯群控系统的调度研究,TU857
  12. 严寒地区商场建筑空调动态负荷分析,TU831.2
  13. 客车车架的有限元分析,U463.32
  14. 一种格构式折臂桥检车的结构动静态分析关键技术研究,U446.3
  15. PC200路缘石滑模机关键技术研究,U415.5
  16. 齿轮箱壳体的静力和振动阻尼研究,TH113
  17. 电液控制液压支架用电磁先导阀的CFD分析,TH137.52
  18. 天线转台轴承齿轮系统有限元建模与分析,TH132.41
  19. 新型铝锭码垛机械手动静态性能分析与优化,TP241
  20. 基于虚拟化的恶意代码行为捕获技术研究,TP393.08
  21. 基于反编译的恶意代码检测关键技术研究与实现,TP309

中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 编译程序、解释程序
© 2012 www.xueweilunwen.com