作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程 ›› 2011, Vol. 37 ›› Issue (5): 276-278,281. doi: 10.3969/j.issn.1000-3428.2011.05.094

• 开发研究与设计技术 • 上一篇    下一篇

基于静态模拟的二进制控制流恢复算法

胡 刚,张 平,李清宝,张翠艳   

  1. (解放军信息工程大学计算机科学与技术系,郑州 450002)
  • 出版日期:2011-03-05 发布日期:2012-10-31
  • 作者简介:胡 刚(1984-),男,硕士研究生,主研方向:数字系 统设计自动化;张 平,副教授;李清宝,教授、博士生导师; 张翠艳,硕士研究生
  • 基金资助:
    国家“863”计划基金资助项目(2009AA01Z434)

Control Flow Restoring Algorithm for Binary Program Based on Static Simulation

HU Gang, ZHANG Ping, LI Qing-bao, ZHANG Cui-yan   

  1. (Department of Computer Science & Technology, PLA Information Engineering University, Zhengzhou 450002, China)
  • Online:2011-03-05 Published:2012-10-31

摘要: 恢复完整的程序控制流图是软件逆向分析的关键,但传统恢复算法依赖于程序结构和编译器信息,不具通用性,无法满足无结构的二进制程序控制流恢复的需要。针对该问题,在传统控制流恢复算法的基础上,提出一种基于静态模拟策略的通用二进制程序控制流恢复算法,并与传统控制流恢复算法、基于切片技术的控制流恢复算法和动态控制流恢复算法在性能上进行比较分析,结果表明,该算法能够恢复出更加完整的控制流图。

关键词: 控制流图, 静态模拟, 二进制程序

Abstract: Binary program comprehension and analysis are based on Control Flow Graph(CFG) which is the key to reconstruct and reengineering a program and is the basis of software reversing engineering. Classic CFG restoring algorithm that is relevant to program structure and complier information is not applicable to some other binary program. Aiming at this problem, this paper presents a new CFG restoring algorithm that is based on static simulation strategy. The new algorithm derives from the classic CFG restoring method. It compares the new algorithm with other CFG recovery algorithms on performance. Results show that the algorithm can restore control flow from binary program more completely than others.

Key words: Control Flow Graph(CFG), static simulation, binary program

中图分类号: