2014 Tenth European Dependable Computing Conference (EDCC) (2014)
Newcastle, United Kingdom
May 13, 2014 to May 16, 2014
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/EDCC.2014.14
The design of many binary-level rewriting and instrumentation systems is based on specifying and implementing an application-programmer interface (API) to provide the necessary functionality for implementing various instrumentation tools. Users implement instrumentation tools by writing code that uses the functionality provided by the implementation of the API. This paper describes a novel approach for realizing powerful binary level instrumentation systems that is based on a simple, low-level language, called SPRI. SPRI is a simple language for specifying edits to apply to a binary. Its simplicity makes SPRI an ideal target language for binary analysis and instrumentation tools. A SPRI specification can then be applied to a binary statically or dynamically to insert the desired instrumentation. To demonstrate the advantages, flexibility, and power of this approach, the paper presents an exemplar instrumentation system that uses a software dynamic translator to apply SPRI-specified edits to a binary, along with several case studies of how the system has been used.
dynamic translation, binary rewriting, spasm
J. D. Hiser et al., "A Framework for Creating Binary Rewriting Tools (Short Paper)," 2014 Tenth European Dependable Computing Conference (EDCC), Newcastle, United Kingdom, 2014, pp. 142-145.