G-Free : defeating return-oriented programming through gadget-less binaries