C++ Memory Check tool based on Dynamic Binary Instrumentation Platform

  • Jing Ling Zhao
  • Lei HeEmail author
  • Bing He
Conference paper
Part of the Lecture Notes on Data Engineering and Communications Technologies book series (LNDECT, volume 2)


In software development, to detect the presence of defects in the software as soon as possible, would greatly reduce the extent of losses arising. In this paper, focus on the memory-use error in C++ program, designed and implemented a memory check tools named ShadowCheck, based on dynamic binary instrumentation platform, which is platform-cross, efficiency and accuracy. In this paper, introduced dynamic binary instrumentation platform and the memory layout of Linux first, then explained how the ShadowCheck works, at last, summarized the efficiency and accuracy of ShadowCheck.


Basic Block Buffer Overflow Memory Leak National Engineer Laboratory Memory Layout 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ball T, Rajamani S K. The SLAM project: debugging system software via static analysis[C]// 2002:1-3.Google Scholar
  2. 2.
    Hurty W C. Dynamic analysis of structural systems using component modes[J]. Aiaa Journal, 2012, 3(4):678-685.Google Scholar
  3. 3.
    Turkboylari M. Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory: US, US 7313705 B2[P]. 2007.Google Scholar
  4. 4.
    Lyu Y H, Hong D Y, Wu T Y, et al. DBILL: An Efficient and Retargetable Dynamic Binary Instrumentation Framework using LLVM Backend[J]. Acm Sigplan Notices, 2014, 49(7):141-152.Google Scholar
  5. 5.
    Nethercote N, Seward J. Valgrind: a framework for heavyweight dynamic binary instrumentation[J]. Acm Sigplan Notices, 2015, 42(6):89-100.Google Scholar
  6. 6.
    Luk C K, Cohn R, Muth R, et al. 9 8 Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation[C]// ACM Sigplan 2005 Conference on Programming Language Design and Implementation, Chicago, Il, Usa, June. 2005:190-200.Google Scholar
  7. 7.
    Pettersson T. Cryptographic key recovery from Linux memory dumps[C]// Chaos Communication Camp. 2007.Google Scholar
  8. 8.
    He Y, Shu H, Xiong X. Protocol Reverse Engineering Based on DynamoRIO[C]// International Conference on Information and Multimedia Technology. IEEE Computer Society, 2009:L1191-L1194.Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.School of Computer ScienceBeijing University of Posts and TelecommunicationsBeijingChina
  2. 2.State Grid Electric Power Company of Sichuan province Tianfu power supply companyChengduChina
  3. 3.National Engineering Laboratory for Mobile Network SecurityBeijingChina

Personalised recommendations