DocumentCode
647243
Title
MemPick: A tool for data structure detection
Author
Haller, Istvan ; Slowinska, Asia ; Bos, Herbert
Author_Institution
Vrije Univ. Amsterdam, Amsterdam, Netherlands
fYear
2013
fDate
14-17 Oct. 2013
Firstpage
479
Lastpage
480
Abstract
Most current techniques for data structure reverse engineering are limited to low-level programming constructs, such as individual variables or structs. In practice, pointer networks connect some of these constructs, to form higher level entities like lists and trees. The lack of information about the pointer network limits our ability to efficiently perform forensics and reverse engineering. To fill this gap, we propose MemPick, a tool that detects and classifies high-level data structures used in stripped C/C++ binaries. By analyzing the evolution of the heap during program execution, it identifies and classifies the most 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 evaluated MemPick on a wide variety of popular libraries and real world applications with great success.
Keywords
C++ language; data structures; pattern classification; reverse engineering; MemPick; data structure detection; data structure reverse engineering; high-level data structure classification; libraries; low-level programming constructs; pointer networks; stripped C-C++ binaries; Accuracy; Data structures; Libraries; Optimization; Reverse engineering; Semantics; Shape;
fLanguage
English
Publisher
ieee
Conference_Titel
Reverse Engineering (WCRE), 2013 20th Working Conference on
Conference_Location
Koblenz
Type
conf
DOI
10.1109/WCRE.2013.6671327
Filename
6671327
Link To Document