Protecting a computer program against reverse engineering
First Claim
1. A method of protecting a computer program against reverse engineering, the method comprising the steps of:
- at least one of obfuscating and encrypting at least one program library of the computer program, wherein the at least one program library contains byte code adapted for being executed by a virtual machine;
including the at least one program library into a bootstrap library, the bootstrap library including a bootstrap module adapted for loading the at least one program library into the virtual machine and for starting the computer program;
encrypting the bootstrap library;
including the encrypted bootstrap library into a native code launcher executable including a launcher module adapted for starting the virtual machine,decrypting the bootstrap library and for loading the bootstrap library into the virtual machine;
wherein the bootstrap library included a first key for decrypting the at least one program library and wherein the bootstrap module is adapted for decrypting the at least one program library with the first key.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of protecting a computer program against reverse engineering includes: obfuscating and/or encrypting at least one program library of the computer program, wherein the at least one program library contains byte code adapted for being executed by a virtual machine; including the at least one obfuscated and/or encrypted library into a bootstrap library, the bootstrap library including a bootstrap module adapted for loading the at least one program library into the virtual machine and for starting the computer program; encrypting the bootstrap library; and including the encrypted bootstrap library into a native code launcher executable including a launcher module adapted for starting the virtual machine, decrypting the bootstrap library and for loading the bootstrap library into the virtual machine.
8 Citations
13 Claims
-
1. A method of protecting a computer program against reverse engineering, the method comprising the steps of:
-
at least one of obfuscating and encrypting at least one program library of the computer program, wherein the at least one program library contains byte code adapted for being executed by a virtual machine; including the at least one program library into a bootstrap library, the bootstrap library including a bootstrap module adapted for loading the at least one program library into the virtual machine and for starting the computer program; encrypting the bootstrap library; including the encrypted bootstrap library into a native code launcher executable including a launcher module adapted for starting the virtual machine, decrypting the bootstrap library and for loading the bootstrap library into the virtual machine; wherein the bootstrap library included a first key for decrypting the at least one program library and wherein the bootstrap module is adapted for decrypting the at least one program library with the first key. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of launching a protected computer program comprising the steps of:
-
starting a launcher module of a native code launcher executable, the native code launcher executable containing an encrypted bootstrap library, the encrypted bootstrap library containing at least one program library being at least one of obfuscated and encrypted; starting a virtual machine with the launcher module;
decrypting the bootstrap library with the launcher module;
loading a bootstrap module of the bootstrap library into the virtual machine and starting the bootstrap module with the launcher module; andloading a program library contained in the bootstrap library into the virtual machine and starting the program library with the bootstrap module; resolving a call to an encrypted further program library by the bootstrap module by; waiting for the call; decrypting the further program library after the call; and loading the further program library into the virtual machine. - View Dependent Claims (9, 10, 11)
-
-
12. A computer program product comprises a non-transitory computer readable medium stored instructions that when executed by a processor, cause the processor to perform the steps of:
-
starting a launcher module of a native code launcher executable, the native code launcher executable containing an encrypted bootstrap library, the encrypted bootstrap library containing at least one program library being at least one of obfuscated and encrypted; starting a virtual machine with the launcher module; decrypting the bootstrap library with the launcher module; loading a bootstrap module of the bootstrap library into the virtual machine and starting the bootstrap module with the launcher module; and loading a program library contained in the bootstrap library into the virtual machine and starting the program library with the bootstrap module; wherein the native code launcher executable containing native code; wherein the encrypted bootstrap library contained in the launcher executable; and at least one program library being at least one of obfuscated and encrypted contained in the bootstrap library. - View Dependent Claims (13)
-
Specification