C反编译控制流恢复的形式描述及算法.pdf
文本预览下载声明
第21卷第1期 计 算 机 学 报 V01.21No.1
CHINESE
1998年1月 J.COMPUTERS Jan.1998
C反编译控制流恢复的形式描述及算法
赵 蕾 王开铸
(哈尔滨工业大学计算机科学与工程系 哈尔滨150001)
摘要反编译是软件逆向工程的重要组成部分.控制流恢复是C反编译的重要组成部分.本文
首先描述了验证反编译结果与原程序功能等价的模型;其次从数学角度提出了C编译和反编译控
制结构的数学模型并给出其性质(从函数的观点出发);再次根据对C控制语句编译结果的分析,
以扩展的BNF形式描述了C控制语句反编译的约束属性文法;最后给出并说明了C反编译控制
‘
流恢复的算法及其运行示例.
关键词反编译,C语言,软件工具,软件逆向工程.
分类号:TP314
FoRMALDESCRIPTIoNANDALGoRITHMoFTHE
RECoVERYoFCoNTRoLFLoWINC
ZHAOLeiWANG
Kai—Zhu
of Scienceand Institute
(Department of 150001)
Computer Engieering,HarbinTechnology,Harbin
Abstract isan ofsoftwarereverse
Decompilationimportantcomponent engineer
flow isa ofC this
ing.Controlrecoverysignificantpart decompilation.Inpaper,
first,amodelto thefunctional ofa resulttOits
verify equivalencedecompiler’S orig—
inal iSdescribed;second,mathematicalmodelsandtheircharacteris—
low—levelinput
tics
ofcontrolstructuresinC and areconstructed
compilation
decompilation respec—
and fromthe ofviewof is
tivelyexplained point basically
a betransferred
many—to—one butcan intoa isa
mapping
relationinnaturebutcanbeconvertedintoanone—to—one constraints,
显示全部