Supplementing Modern Software Defenses with Stack-Pointer Sanity
Counterfeit Object-oriented Programming: On the Difficulty of Preventing Code Reuse Attacks in C++ Applications