C++ Memory Check tool based on Dynamic Binary Instrumentation Platform
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.
KeywordsBasic Block Buffer Overflow Memory Leak National Engineer Laboratory Memory Layout
Unable to display preview. Download preview PDF.
- 1.Ball T, Rajamani S K. The SLAM project: debugging system software via static analysis[C]// 2002:1-3.Google Scholar
- 2.Hurty W C. Dynamic analysis of structural systems using component modes[J]. Aiaa Journal, 2012, 3(4):678-685.Google Scholar
- 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.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.Nethercote N, Seward J. Valgrind: a framework for heavyweight dynamic binary instrumentation[J]. Acm Sigplan Notices, 2015, 42(6):89-100.Google Scholar
- 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.Pettersson T. Cryptographic key recovery from Linux memory dumps[C]// Chaos Communication Camp. 2007.Google Scholar
- 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