2015 · 24 citations · 12 references
ComputingComputer ScienceAlgorithmsCompilersSoftware EngineeringAbstract Syntax TreesBehavioral AnalysisControl-flow AnalysisData-flow AnalysisReverse EngineeringStatic Code AnalysisDependence AnalysisGraph IsomorphismLibrary Function IdentificationLibrary IdentificationProgram Dependence GraphsProgram Dependency Graph AnalysisSoftware Reverse EngineeringSubgraph Isomorphism
Library functions identification is a key technique in reverse engineering. Discontinuity and polymorphism of inline and optimized library functions in binary code create a difficult challenge for library functions identification. To solve this problem, a novel approach is developed to identify library functions. First, we introduce execution dependence graphs (EDGs) to describe the behavior characteristics of binary code. Then, by finding similar EDG subgraphs in target functions, we identify both full and inline library functions. Experimental results from the prototype tool show that the proposed method is not only capable of identifying inline functions but is also more efficient and precise than the current methods for identifying full library functions.
12
Dependence graphs and compiler optimizations
David J. Kuck, Robert H. Kuhn, David Padua et al. · 1981 · 652 citations · Full text
Identifying similar code with program dependence graphs
Jens Krinke · 2002 · 622 citations
Chao Liu, Chen Chen, Jiawei Han et al. · 2006 · 423 citations