Abstract
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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.