Defending against Return-Oriented Programming
Smashing the Gadgets: Hindering Return-Oriented Programming Using In-Place Code Randomization