1. A method for protecting a computer program executed by a processor from unauthorized use, comprising the steps of: determining a translation table constituting a security code, said security code defining operations on instructions in said program at the object level; and using said security code to encode said instructions, such that said program will be unusable for its intended purpose if executed without said encoded instructions being decoded; wherein said encoded instructions are decoded by: providing said translation table to said processor; translating said encoded instructions using said translation table to generate translated instructions having a decoded format; and replacing said encoded instructions with said translated instructions.