Patent ID: 7590863

Claim:
A computer implemented method of running a Java application that uses a previously encrypted Java archive in order to prevent or inhibit tampering of the Java application, the encrypted Java archive comprising at least one encrypted Java class file, the method comprising: loading an application stub class; loading and executing a native method using the application stub class, the execution of the native method comprising the steps of: establishing a protective process capable of intercepting and modifying file input/output requests; identifying and loading the at least one encrypted Java class file required by the Java application from the archive into memory, using a proxy class to simulate file input/output requests to the archive; decrypting the at least one encrypted Java class file in the memory; loading the at least one decrypted Java class file into a virtual machine; removing the protective process; and implementing the Java application using the at least one previously encrypted Java class file loaded into the Java virtual machine.