首页> 外文会议>Working Conference on Reverse Engineering >Who allocated my memory? Detecting custom memory allocators in C binaries
【24h】

Who allocated my memory? Detecting custom memory allocators in C binaries

机译:谁分配了我的记忆?检测C二进制文件中的自定义内存分配器

获取原文

摘要

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. However, 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 accuracy. 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.
机译:数据结构的许多反转技术依赖于内存分配例程的知识。通常,它们与系统的Malloc和自由函数插入,并跟踪每个块的存储器作为数据结构。但是,许多性能关键的应用程序实现了自己的自定义内存分配器。示例包括Web服务器,数据库管理系统和GCC和Clang等编译器。结果,用于跟踪数据结构的当前二进制分析技术在这种二进制文件上失败。我们呈现Membrush,一种新的工具,可以高精度地检测剥离二进制二进制文件中的内存分配和拒绝功能。我们评估了对使用自定义内存分配器的大量真实世界应用程序的技术。正如我们所示,我们可以提供有关内存管理API的详细信息的现有逆转工具,结果对编程器设计的实际应用程序特定数据结构进行分析。我们的系统使用动态分析,并通过搜索符合分配器和析收器的一组通用特征的功能来检测内存分配和拒绝程序。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号