US 7,590,863 B2
Methods of providing java tamperproofing
Martin R. Lambert, Twyford (United Kingdom)
Assigned to SealedMedia Limited, Buckinghamshire (United Kingdom)
Appl. No. 10/398,567
PCT Filed Oct. 11, 2001, PCT No. PCT/GB01/04533
§ 371(c)(1), (2), (4) Date Apr. 08, 2003,
PCT Pub. No. WO02/31648, PCT Pub. Date Apr. 18, 2002.
Claims priority of application No. 0024918.5 (GB), filed on Oct. 11, 2000.
Prior Publication US 2004/0039926 A1, Feb. 26, 2004
Int. Cl. G06F 11/30 (2006.01)
U.S. Cl. 713—189  [713/193; 713/194] 20 Claims
OG exemplary drawing
 
1. 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.