6. A method of protecting a software object that is executed in a host computer system from the host, the software object being executed in an execution environment for the software object in the host computer system, the execution environment loading a class that is used in executing the software object in the execution environment and the method being characterized by: steps performed prior to execution of the software object in the execution environment comprising replacing symbolic names in the software object that are defined in the class with obfuscated symbolic names corresponding thereto; and making a first association between the obfuscated symbolic names and encrypted forms of the replaced symbolic names; and steps performed during the execution of the software object in the execution environment comprising making a second association between the encrypted forms of the symbolic names and information required to resolve the symbolic names; adding a method to the software object that determines whether the software object has been modified by the host; using the first and second associations to resolve the obfuscated symbolic names; and executing the added method to determine whether the software object has been modified by the host.
6. A method of protecting a software object that is executed in a host computer system from the host, the software object being executed in an execution environment for the software object in the host computer system, the execution environment loading a class that is used in executing the software object in the execution environment and the method being characterized by: steps performed prior to execution of the software object in the execution environment comprising replacing symbolic names in the software object that are defined in the class with obfuscated symbolic names corresponding thereto; and making a first association between the obfuscated symbolic names and encrypted forms of the replaced symbolic names; and steps performed during the execution of the software object in the execution environment comprising making a second association between the encrypted forms of the symbolic names and information required to resolve the symbolic names; adding a method to the software object that determines whether the software object has been modified by the host; using the first and second associations to resolve the obfuscated symbolic names; and executing the added method to determine whether the software object has been modified by the host. 7. The method of protecting the software object set forth in claim 6 further characterized in that: the steps performed prior to executing the software object further comprise the step of obfuscating other symbolic names that are not defined in the class.