http://khalil-shreateh.com/khalil.shtml/images/articles/docs/Return-Oriented-Programming.pdf