摘要
类型重构作为反编译的关键问题,对程序的可读性及可理解性具有重要的作用。给出了汇编基础上数据类型自动重构的算法。对于简单类型,通过基于格的类型属性操作,用迭代算法来实现类型恢复;对于复杂类型,通过构建标记等价类来恢复结构化类型的框架,而后通过收集框架内可访问的偏移集合并利用简单类型恢复的算法对偏移对象类型进行恢复,从而推导出复杂结构类型。该算法是目前正在开发的类型重构工具的关键技术,它不仅能够准确地重构简单类型,而且能够准确地解析复杂类型,且准确率较高。
As one of the most significant modules of decompilation,data type reconstruction has an important role in readability and intelligibility.This paper proposed an algorithm for automatic type reconstruction from assembly code obtained from the MinGW GCC 3.4.5 compiler.The basic types are reconstructed using an iterative algorithm,which uses a lattice over the types' properties.The composite types' skeletons are recovered by establishing label equivalence classes,and the member variables by constructing the set of offsets for each composite type.The algorithm is the essential part of the tool being developed by authors,which not only reconstructs the basic type exactly,but also makes an active research into the hot issue aimed by all researchers currently and it has a favorable outcome.
出处
《计算机科学》
CSCD
北大核心
2012年第5期133-136,共4页
Computer Science
基金
国家"863"计划基金(2007AA01Z483)
河南省科技攻关(092101210503)资助
关键词
反编译
类型重构
类型依赖方程
等价类
Decompilation
Type reconstruction
Type dependence equation
Equivalence class