Abstract
Software developers, system designers, and end users all may have important reasons to observe and potentially modify the runtime behavior of application software. Dynamic binary modification systems provide this functionality, while hiding the complex engineering necessary to make the entire process work. These systems provide access to every executed user-level instruction (including calls through shared libraries, dynamically-generated code, and system call instructions themselves) while providing the illusion that the application is running natively. Aside from any potentially observable runtime or memory overhead, the application appears to behave identically to a native execution, including instruction addresses, data addresses, and stack contents. Some of the more commonly known dynamic binary modification tools today include Valgrind, Pin, and DynamoRIO.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Hazelwood, K. (2011). Dynamic Binary Modification: Overview. In: Dynamic Binary Modification. Synthesis Lectures on Computer Architecture. Springer, Cham. https://doi.org/10.1007/978-3-031-01732-2_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-01732-2_1
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-00604-3
Online ISBN: 978-3-031-01732-2
eBook Packages: Synthesis Collection of Technology (R0)eBColl Synthesis Collection 3