Automated Binary Program Partitioning through Structural Analysis

Michail S. Alexiou, J. Sukarno Mertoguno · 2023

Binary code has emerged as the standard format for storing various applications, both in industry and academia, owing to its lightweight nature, easy installation, and faster processing. The increasing number of outdated legacy applications in binary format has created a demand for efficient tools capable of automatically processing and updating them. How-ever, accurately processing these binaries poses challenges due to the presence of hidden functionality embedded in multiple sub tasks within the program. This paper presents a methodol-ogy for the automated structural analysis and partitioning of binary programs. Through an iterative analysis of subgraphs extracted from the complete binary's Control-Flow graph using a hybrid approach that combines a Deep Graph Convolution Neural Network model and a formal analysis module, we successfully identify graph structures representing different functionalities. Specifically, this study focuses on four functionalities: matrix multiplication, matrix transposition, array processing, and mathematical functions. Experimental results on a synthetic dataset demonstrate the high performance of the proposed method in accurately isolating the relevant nodes associated with these functionalities. As a result, these nodes are annotated within the Control-Flow graph, facilitating easier processing by legacy-code analysis tools.

Read the paper · More papers on PaperTik