A Survey of Control Flow Graph Recovery for Binary Code
摘要
With the rapid development of Internet applications, the study of software security has received increasing attention. The recovery of control flow graphs, as one of the fundamental tasks in software security analysis, is essential to understand the structure and flow of program execution. The accuracy of control flow recovery is crucial to security techniques such as vulnerability mining and code similarity comparison, which are based on control flow graphs. In the field of reverse analysis, the recovery of the control flow graph for binary code has become a hot research topic. In this paper, we review the methods of control flow graph construction of binary code, including static analysis, dynamic analysis, and hybrid analysis, and compare their advantages and disadvantages. After that, we discuss the difficult problems in control flow graph construction and summarize the research progress of the indirect jump problem in recent years. Finally, the focus and outlook of future research in this area are summarized and discussed.