COMPUTER OBJECT CODE OBFUSCATION USING BOOT INSTALLATION
First Claim
1. A method of protecting computer program code, comprising the acts of:
- providing a file of computer program source code;
compiling the file of source code into compiled code; and
obfuscating the compiled code, wherein the obfuscated code is adapted to be executed by a boot installer program upon installation of the code.
1 Assignment
0 Petitions
Accused Products
Abstract
In the field of computer software, obfuscation techniques for enhancing software security are applied to compiled (object) software code. The obfuscation results here in different versions (instances) of the obfuscated code being provided to different installations (recipient computing devices). The complementary code execution uses a boot loader or boot installer-type program at each installation which contains the requisite logic. Typically, the obfuscation results in a different instance of the obfuscated code for each intended installation (recipient) but each instance being semantically equivalent to the others. This is accomplished in one version by generating a random value or other parameter during the obfuscation process, and using the value to select a particular version of the obfuscating process, and then communicating the value along with boot loader or installer program software. This boot loader then selects which particular process to use for the code execution at the time of installation in accordance with the value. This results in different versions of the obfuscated code being provided to each recipient installation, which further enhances security of the code against reverse engineering by hackers.
32 Citations
24 Claims
-
1. A method of protecting computer program code, comprising the acts of:
-
providing a file of computer program source code; compiling the file of source code into compiled code; and obfuscating the compiled code, wherein the obfuscated code is adapted to be executed by a boot installer program upon installation of the code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method of using protected computer code, comprising the acts of:
-
providing a file of protected computer compiled code; providing a boot installer program; installing the file on a computer memory using the boot installer program, wherein the boot installer program allows execution of the protected file upon installation so it can be executed. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. Apparatus for protecting computer code, comprising:
-
a memory for storing a file of computer program source code; a compiler coupled to the memory for compiling the source code into compiled code; an obfuscator coupled to the compiler to output obfuscated code, wherein the obfuscated code is adapted to be executed by a boot installer program upon installation of the code.
-
-
24. Apparatus for installing protected computer code in a computer system, comprising:
-
a first memory for storing a file of protected computer compiled code; a second memory for storing a boot installer program; an element coupled to the memories and which executes the boot installer program and thereby allows execution of the stored file upon installation of the file in the computer system, so the file can be executed.
-
Specification