Dynamic Binary Instrumentation with DynamoRIO
DynamoRIO (http://dynamorio.org/) is a dynamic binary instrumentation framework that allows to manipulate binary code at runtime. The framework can be used to build various tools for program analysis, profiling, optimization and many more on top of it.