Return-oriented programming without returns
Valgrind: a framework for heavyweight dynamic binary instrumentation