Jump to content
Nytro

Detecting Custom Memory Allocators in C Binaries

Recommended Posts

Posted

Detecting Custom Memory Allocators in C Binaries

Xi Chen Asia Slowinska Herbert Bos

Vrije Universiteit Amsterdam, The Netherlands

Abstract—Many reversing techniques for data structures rely

on the knowledge of memory allocation routines. Typically, they

interpose on the system’s malloc and free functions, and track

each chunk of memory thus allocated as a data structure. How-

ever, many performance-critical applications implement their

own custom memory allocators. Examples include webservers,

database management systems, and compilers like gcc and clang.

As a result, current binary analysis techniques for tracking data

structures fail on such binaries.

We present MemBrush, a new tool to detect memory allocation

and deallocation functions in stripped binaries with high accu-

racy. We evaluated the technique on a large number of real world

applications that use custom memory allocators. As we show, we

can furnish existing reversing tools with detailed information

about the memory management API, and as a result perform an

analysis of the actual application specific data structures designed

by the programmer. Our system uses dynamic analysis and

detects memory allocation and deallocation routines by searching

for functions that comply with a set of generic characteristics of

allocators and deallocators.

Download:

http://www.cs.vu.nl/~herbertb/papers/membrush_wcre13.pdf

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...