计算机应用 ›› 2013, Vol. 33 ›› Issue (12): 3428-3431.

• 2013年全国开放式分布与并行计算学术年会(DPCS2013)论文 • 上一篇    下一篇

基于结构分析的高级语言控制结构恢复方法

霍元宏,刘毅,计卫星   

  1. 北京理工大学 计算机学院,北京 100081
  • 收稿日期:2013-08-05 出版日期:2013-12-01 发布日期:2013-12-31
  • 通讯作者: 霍元宏
  • 作者简介:霍元宏(1988-),男,河南信阳人,博士研究生,主要研究方向:编译与反编译;
    刘毅(1987-),男,黑龙江鸡西人,硕士研究生,主要研究方向:计算机系统结构;
    计卫星(1980-),男,陕西咸阳人,讲师,主要研究方向:计算机系统结构、编译与反编译。

Recovery method for high-level language control structures based on structural analysis

HUO Yuanhong,LIU Yi,JI Weixing   

  1. School of Computer Science, Beijing Institute of Technology, Beijing 100081, China
  • Received:2013-08-05 Online:2013-12-31 Published:2013-12-01
  • Contact: HUO Yuanhong

摘要: 为正确获得嵌入式可执行程序和汇编代码的高级语言控制结构,弥补现有高级程序控制结构恢复算法在处理非结构化区域的不足,将编译领域经典的控制流分析方法——结构分析算法引入到嵌入式汇编代码高级程序控制结构恢复研究中;针对嵌入式可执行程序的特点,对结构分析算法加以改进;利用结构分析算法的结果构造程序的控制树,生成高级语言代码。与开源反编译器DCC的对比实验结果表明,改进的结构分析算法在高级程序结构恢复问题上是可行有效的。

关键词: 反编译, 控制流分析, 嵌入式系统, 逆向分析

Abstract: To correctly obtain the high-level language control structures of embedded executables and assembly code, and resolve the problem that the existing recovery methods for high-level language control structures cannot handle the unstructured region, the classical control analysis method, structural analysis algorithm, was introduced to study the recovery method for high-level control structures of embedded assembly code. The structural analysis algorithm was improved according to the characteristics of embedded executables, and the high-level language code was generated by using the program control tree, which can be obtained from the results of structural analysis algorithm. Compared with the open source decompiler named DCC, the results show that the improved algorithm is feasible and efficient.

Key words: decompiling, control flow analysis, embedded system, reverse analysis

中图分类号: