Secure and practical defense against code-injection attacks using software dynamic translation | Synapse