DocumentCode :
647194
Title :
MemPick: High-level data structure detection in C/C++ binaries
Author :
Haller, Istvan ; Slowinska, Asia ; Bos, Herbert
Author_Institution :
Vrije Univ. Amsterdam, Amsterdam, Netherlands
fYear :
2013
fDate :
14-17 Oct. 2013
Firstpage :
32
Lastpage :
41
Abstract :
Many existing techniques for reversing data structures in C/C++ binaries are limited to low-level programming constructs, such as individual variables or structs. Unfortunately, without detailed information about a program´s pointer structures, forensics and reverse engineering are exceedingly hard. To fill this gap, we propose MemPick, a tool that detects and classifies high-level data structures used in stripped binaries. By analyzing how links between memory objects evolve throughout the program execution, it distinguishes between many commonly used data structures, such as singly- or doubly-linked lists, many types of trees (e.g., AVL, red-black trees, B-trees), and graphs. We evaluate the technique on 10 real world applications and 16 popular libraries. The results show that MemPick can identify the data structures with high accuracy.
Keywords :
C++ language; data structures; pattern classification; C-C++ binaries; MemPick; high-level data structure classification; high-level data structure detection; low-level programming constructs; memory objects; stripped binaries; Binary trees; Libraries; Resource management; Reverse engineering; Shape; Vegetation;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Reverse Engineering (WCRE), 2013 20th Working Conference on
Conference_Location :
Koblenz
Type :
conf
DOI :
10.1109/WCRE.2013.6671278
Filename :
6671278
Link To Document :
بازگشت