摘要
提出一种基于命题演算的二进制代码高级控制结构恢复方法。该方法针对低级指令之间的控制依赖关系进行形式化,将其抽象为命题逻辑变元,并且沿着程序执行路径进行传播和演算,通过计算结果中的特定命题常元对隐藏于低级代码中的高级控制结构进行判定。测试结果表明,该方法能够较好地检测并恢复出循环结构和分支结构,且具备针对谓词指令的分析和恢复能力。
This paper presents a method to recovery high-level control structures from binary executables,which is based on propositional calculus.This method formalizes the control dependence relation between low-level instructions to propositional variables.These variables can be propagated and calculated follow the execution path of the object code,and high-level control structures can be identified by some specified results of propositional invariants.Experimental results show this method can recognize and recovery loops and conditionals effectively,and have the ability of analyzing the predicated instructions.
出处
《计算机工程》
CAS
CSCD
北大核心
2010年第16期4-6,共3页
Computer Engineering
基金
国家"863"计划基金资助项目(2006AA01Z408
2009AA01Z434)
河南省重大科技攻关基金资助项目(092101210500
092101210501)
关键词
软件逆向分析
命题逻辑
控制结构恢复
控制依赖
reverse analysis of software
propositional logic
control structure recovery
control dependence