Jump-oriented programming: a new class of code-reuse attack
G-Free: defeating return-oriented programming through gadget-less binaries