Institute for System Programming of the Russian Academy of Sciences
被引用1|浏览18
摘要
Binary code analysis is becoming a prominent technique in software development, covering tasks related to quality assurance and security. In this paper, we present an approach to static binary code instrumentation-persistent modification and extension of executable files-that we believe to be effective when used as a basis of implementation of various dynamic analysis techniques. We have developed an instrumentation framework targeting ARM ELF binary code that allows transforming files based on user-defined specifications. Specification language provides means to perform aspect-oriented programming targeting low-level groups of points in binary code to insert extra instrumentation code that can be supplied in C/C++ language. We have applied our framework to Avalanche-an automatic input generation tool based on dynamic symbolic execution-and achieved up to 10x increase in path traversal speed within a limited time frame compared to Valgrind-based dynamic binary instrumentation.