Most current techniques for data structure reverse engineering are limited to low-level programing 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, ...
Accurate alias analysis is critical for optimizing/parallelizing compilers that support languages wi...
Programs routinely use complicated pointer (linked list-type) data structures such as linked lists, ...
Despite the potential importance of data structure layouts and traversal patterns, compiler transfor...
Abstract—Many existing techniques for reversing data struc-tures in C/C++ binaries are limited to lo...
Many existing techniques for reversing data structures in C/C++ binaries are limited to low-level pr...
Many existing techniques for reversing data structures in C/C ++ binaries are limited to low-level p...
Reverse engineering binary code is notoriously difficult and, especially, understanding a binary's d...
In our recent work, we have developed compiler analyses and transformations that operate at the leve...
Many reverse engineering techniques for data structures rely on the knowledge of memory allocation r...
Reversing engineering of data structures involves two aspects: (1) given an application binary, infe...
In this thesis, we categorize linked structures and linked substructures each into four groups based...
Abstract—Many reversing techniques for data structures rely on the knowledge of memory allocation ro...
Abstract. We investigate whether dynamic data structures in pointer programs can be identified by an...
Binary analysis seeks to comprehend the behavior and semantics of commercial-off-the-shelf (COTS) ex...
Providing high performance for pointer-intensive programs on modern architectures is an increasingly...
Accurate alias analysis is critical for optimizing/parallelizing compilers that support languages wi...
Programs routinely use complicated pointer (linked list-type) data structures such as linked lists, ...
Despite the potential importance of data structure layouts and traversal patterns, compiler transfor...
Abstract—Many existing techniques for reversing data struc-tures in C/C++ binaries are limited to lo...
Many existing techniques for reversing data structures in C/C++ binaries are limited to low-level pr...
Many existing techniques for reversing data structures in C/C ++ binaries are limited to low-level p...
Reverse engineering binary code is notoriously difficult and, especially, understanding a binary's d...
In our recent work, we have developed compiler analyses and transformations that operate at the leve...
Many reverse engineering techniques for data structures rely on the knowledge of memory allocation r...
Reversing engineering of data structures involves two aspects: (1) given an application binary, infe...
In this thesis, we categorize linked structures and linked substructures each into four groups based...
Abstract—Many reversing techniques for data structures rely on the knowledge of memory allocation ro...
Abstract. We investigate whether dynamic data structures in pointer programs can be identified by an...
Binary analysis seeks to comprehend the behavior and semantics of commercial-off-the-shelf (COTS) ex...
Providing high performance for pointer-intensive programs on modern architectures is an increasingly...
Accurate alias analysis is critical for optimizing/parallelizing compilers that support languages wi...
Programs routinely use complicated pointer (linked list-type) data structures such as linked lists, ...
Despite the potential importance of data structure layouts and traversal patterns, compiler transfor...