Patent ID: 8200987

Claim:
A method for protecting from unauthorized use a computer program comprising computer instructions configured to perform operations to achieve an intended purpose when executed by a processor, comprising the steps of: determining a translation table constituting a security code, said security code defining operations on the computer instructions in said program at the object level; and using said security code to encode said computer instructions, such that said program will be unusable for its intended purpose if executed without said encoded computer instructions being decoded; wherein said encoded computer instructions are decoded by: providing said translation table to said processor; translating said encoded computer instructions using said translation table to generate translated computer instructions having a decoded format; and replacing said encoded computer instructions with said translated instructions; wherein the encoded instructions are in a format that can be recognized and executed but will not yield the intended results absent translation into the decoded format; and including in said translation table conditions to be met by said encoded computer instructions for replacement by said translated instructions; wherein said translation table further comprises selected instruction fields and substitute instruction fields, said conditions require the presence of said selected instruction fields in said encoded computer instructions; and control logic constructs translated computer instructions having said decoded format by replacing said selected instruction fields with said substitute instruction fields.