• 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