Toward efficient and accurate function‐call graph matching of binary codes
DongXing Huang, Yong Tang, Yi Wang, Shuning Wei · Concurrency and Computation Practice and Experience · 2018
Summary Reverse engineering, software plagiarism detection, and malware analysis have always been important issues in software and security fields. For a binary code, the function‐call graph (FCG) reflects its capability, structure, and intrinsic relations, which motivates us to study FCG matching and its applications in those problems systematically. In this work, we propose an FCG matching algorithm based on Hungarian algorithm that solves the maximum weight matching problem in polynomial time and makes matching between graphs of large scale possible. Also, optimizations including node pairs pruning and forward matching are proposed to improve the efficiency and accuracy of FCG matching algorithm. Finally, a series of experiments are conducted to show that FCG matching is an effective method and has huge application potentiality in software and security analysis.