Codebender: Remote software protection using orthogonal replacement