8881290

Method and Apparatus for Computer Code Obfuscation and Deobfuscation Using Boot Installation

PublishedNovember 4, 2014
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.

Claim 1

Original Legal Text

1. A method of obfuscating computer code, the method comprising: receiving a file of compiled computer code; identifying a plurality of different obfuscation functions for a particular portion of the compiled code; generating a plurality of different instances of obfuscated compiled code using the plurality of different obfuscation functions on the particular portion of the compiled code, wherein a first instance of obfuscated code is obfuscated with a first obfuscation function and is for installation on a first device and a second instance of obfuscated code is obfuscated with a second obfuscation function and is for installation on a second device; and storing the obfuscated code instances with a boot installer that is adapted to execute the obfuscated code instances on recipient devices.

Plain English Translation

A method for obfuscating computer code involves receiving a file of compiled code and identifying multiple different obfuscation functions that can be applied to a specific portion of the code. The method generates multiple different obfuscated versions of the code by applying these different functions, with a first version using a first function for installation on a first device, and a second version using a second function for installation on a second device. These obfuscated code versions are stored along with a boot installer program designed to execute the specific version on its intended target device.

Claim 2

Original Legal Text

2. The method of claim 1 , further comprising the masking the obfuscated code instances.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions are identified, and different obfuscated instances are generated for different devices along with a boot installer, further includes masking the generated obfuscated code instances. This masking adds an additional layer of security to the obfuscated code.

Claim 3

Original Legal Text

3. The method of claim 1 , wherein the obfuscated code when executed is equivalent but not identical to the compiled code.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions are identified, and different obfuscated instances are generated for different devices along with a boot installer, ensures that the executed obfuscated code performs the same function as the original compiled code, but the code itself is not identical, thereby increasing security through diversification.

Claim 4

Original Legal Text

4. The method of claim 1 , wherein generating the plurality of different instances of obfuscated code using the different obfuscation functions further comprises: generating a random number for each different instance of obfuscated code to be generated, wherein the random numbers are each associated with a different recipient device; and selecting different obfuscation functions for the different instances based on the generated random numbers such that each recipient device will receive a unique instance of the obfuscated code.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions are identified, and different obfuscated instances are generated for different devices along with a boot installer, generates different obfuscated code instances by generating a random number for each intended device. The random number then determines which specific obfuscation function is applied, ensuring each device receives a uniquely obfuscated version of the code.

Claim 5

Original Legal Text

5. The method of claim 4 , wherein the different obfuscation functions are each a different order for performing a plurality of functions in the compiled code, and wherein the random number determines the particular order.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions are identified, different obfuscated instances are generated based on random numbers, and stored with a boot installer, uses different orderings of functions within the compiled code as the different obfuscation functions. The random number assigned to each device determines the specific execution order of these functions, resulting in different but equivalent obfuscated code for each device.

Claim 6

Original Legal Text

6. The method of claim 1 further comprising selecting the different obfuscation functions based on characteristics of the recipient devices.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions are identified, and different obfuscated instances are generated for different devices along with a boot installer, selects different obfuscation functions based on specific characteristics of the devices targeted for installation. This allows tailoring the obfuscation to the capabilities or limitations of each device.

Claim 7

Original Legal Text

7. The method of claim 1 , wherein the obfuscation functions include a plurality of Montgomery multiplication functions, at least one using coarsely integrated operand scanning and at least one using finely integrated operand scanning.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions are identified, and different obfuscated instances are generated for different devices along with a boot installer, uses Montgomery multiplication functions as part of the obfuscation. Some of these functions use coarsely integrated operand scanning, while others use finely integrated operand scanning, providing different levels of obfuscation.

Claim 8

Original Legal Text

8. The method of claim 7 , wherein each of the coarsely integrated operand scanning functions have a base value of a different length.

Plain English Translation

The method of obfuscating computer code, where compiled code is received, multiple obfuscation functions include Montgomery multiplication with coarse and fine scanning, and different obfuscated instances are generated for different devices, uses coarsely integrated operand scanning functions, where each such function has a base value of a different length, adding further variation to the obfuscation.

Claim 9

Original Legal Text

9. A non-transitory machine readable medium storing a program which when executed by at least one processing unit obfuscates computer code, the program comprising sets of instructions for: receiving a file of compiled computer code; identifying a plurality of different obfuscation functions for a particular portion of the compiled code; generating a plurality of different instances of obfuscated code using the plurality of different obfuscation functions on the particular portion of the compiled code, wherein a first instance of obfuscated code is obfuscated with a first obfuscation function and is for installation on a first device, and wherein a second instance of obfuscated code is obfuscated with a second obfuscation function and is for installation on a second device; and storing the obfuscated code instances with a boot installer program that is adapted to execute the obfuscated code instances on recipient devices.

Plain English Translation

A non-transitory machine-readable medium stores a program that obfuscates computer code by receiving a file of compiled code, identifying multiple different obfuscation functions for a specific part of the code, and generating different instances of the obfuscated code using these functions. A first instance is obfuscated with a first function for installation on a first device, and a second instance is obfuscated with a second function for installation on a second device. The obfuscated code instances are stored with a boot installer program designed to execute the appropriate instance on each recipient device.

Claim 10

Original Legal Text

10. The non-transitory machine readable medium of claim 9 , wherein the program further comprises a set of instructions for masking the obfuscated code instances.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code (by receiving compiled code, identifying obfuscation functions, generating different instances for different devices, and storing with a boot installer) further includes instructions for masking the obfuscated code instances, adding an additional layer of security.

Claim 11

Original Legal Text

11. The non-transitory machine readable medium of claim 9 , wherein the obfuscated code is equivalent but not identical to the compiled code before it was obfuscated.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code (by receiving compiled code, identifying obfuscation functions, generating different instances for different devices, and storing with a boot installer) ensures that the executed obfuscated code is functionally equivalent to the original compiled code, but the code itself is not identical, increasing security through diversification.

Claim 12

Original Legal Text

12. The non-transitory machine readable medium of claim 9 , wherein the prom further comprises sets of instructions for: generating a random number for each different instance of obfuscated code to be generated, wherein the random numbers are each associated with a different recipient device; and selecting different obfuscation functions for the different instances based on the generated random numbers such that each recipient device will receive a unique instance of the obfuscated code.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code (by receiving compiled code, identifying obfuscation functions, and generating different instances for different devices, and storing with a boot installer) also includes instructions for generating a random number for each intended device. This random number is used to select the obfuscation function applied to the code for that device, ensuring each device receives a uniquely obfuscated version.

Claim 13

Original Legal Text

13. The non-transitory machine readable medium of claim 12 , wherein the different obfuscation functions are each a different order for performing a plurality of functions in the compiled code, and wherein the random number determines the particular order.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code using random numbers to select obfuscation functions (by receiving compiled code, identifying obfuscation functions, generating different instances based on random numbers, and storing with a boot installer) uses different orderings of functions within the compiled code as the different obfuscation functions. The random number assigned to each device determines the specific execution order of these functions, resulting in different but equivalent obfuscated code for each device.

Claim 14

Original Legal Text

14. The non-transitory machine readable medium of claim 9 , wherein the prom further comprises a set of instructions for selecting the different obfuscation functions for the different instances based on characteristics of the recipient devices.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code (by receiving compiled code, identifying obfuscation functions, and generating different instances for different devices, and storing with a boot installer) includes instructions for selecting different obfuscation functions based on specific characteristics of the devices targeted for installation, allowing for tailoring the obfuscation to the capabilities or limitations of each device.

Claim 15

Original Legal Text

15. The non-transitory machine readable medium of claim 9 , wherein the obfuscation functions include a plurality of Montgomery multiplication functions, at least one using coarsely integrated operand scanning, and at least one using finely integrated operand scanning.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code (by receiving compiled code, identifying obfuscation functions, and generating different instances for different devices, and storing with a boot installer) uses Montgomery multiplication functions as part of the obfuscation. Some functions use coarsely integrated operand scanning, while others use finely integrated operand scanning, providing different levels of obfuscation.

Claim 16

Original Legal Text

16. The non-transitory machine readable medium of claim 15 , wherein each of the coarsely integrated operand scanning functions have a base value of a different length.

Plain English Translation

The non-transitory machine-readable medium storing a program that obfuscates code using Montgomery multiplication with coarse and fine scanning (by receiving compiled code, identifying obfuscation functions including Montgomery multiplication, generating different instances, and storing with a boot installer) uses coarsely integrated operand scanning functions where each function has a different length base value, adding further variation to the obfuscation.

Claim 17

Original Legal Text

17. An electronic device comprising: a set of processing units for executing sets of instructions; a non-transitory machine readable medium storing a program which when executed by at least one of the processing units obfuscates computer code, the program comprising sets of instructions for: receiving a file of compiled computer code; identifying a plurality of different obfuscation functions for a particular portion of the compiled code; generating a plurality of different instances of obfuscated code using the plurality of different obfuscation functions on the particular portion of the compiled code, wherein a first instance of obfuscated code is obfuscated with a first obfuscation function and is for installation on a first device, and wherein a second instance of obfuscated code is obfuscated with a second obfuscation function and is for installation on a second device; and storing the obfuscated code instances with a boot installer that is adapted to execute the obfuscated code instances on recipient devices.

Plain English Translation

An electronic device comprises processing units and a non-transitory machine-readable medium storing a program that obfuscates computer code. The program functions by receiving a file of compiled code, identifying multiple different obfuscation functions for a specific part of the code, and generating different instances of the obfuscated code using these functions. A first instance is obfuscated with a first function for installation on a first device, and a second instance is obfuscated with a second function for installation on a second device. The obfuscated code instances are stored with a boot installer program designed to execute the appropriate instance on each recipient device.

Claim 18

Original Legal Text

18. The electronic device of claim 17 , wherein the program further comprises sets of instructions for: generating a random number for each different instance of obfuscated code to be generated, wherein the random numbers are each associated with a different recipient device; and selecting different obfuscation functions for the different instances based on the generated random numbers such that each recipient device will receive a unique instance of the obfuscated code.

Plain English Translation

The electronic device storing an obfuscation program (by receiving compiled code, identifying obfuscation functions, generating different instances for different devices, and storing with a boot installer) also includes instructions for generating a random number for each intended device. This random number is then used to select the obfuscation function applied to the code for that device, ensuring that each device receives a uniquely obfuscated version of the code.

Claim 19

Original Legal Text

19. The electronic device of claim 18 , wherein the different obfuscation functions are each a different order for performing a plurality of functions in the compiled code, and wherein the random number determines the particular order.

Plain English Translation

The electronic device storing an obfuscation program that uses random numbers to select obfuscation functions (by receiving compiled code, identifying obfuscation functions, generating different instances based on random numbers, and storing with a boot installer) uses different orderings of functions within the compiled code as the different obfuscation functions. The random number assigned to each device determines the specific execution order of these functions, resulting in different but equivalent obfuscated code for each device.

Claim 20

Original Legal Text

20. The electronic device of claim 17 , wherein the program further comprises a set of instructions for selecting the different obfuscation functions based on characteristics of the recipient devices.

Plain English Translation

The electronic device storing an obfuscation program (by receiving compiled code, identifying obfuscation functions, and generating different instances for different devices, and storing with a boot installer) includes instructions for selecting different obfuscation functions based on specific characteristics of the devices targeted for installation, allowing for tailoring the obfuscation to the capabilities or limitations of each device.

Patent Metadata

Filing Date

Unknown

Publication Date

November 4, 2014

Inventors

Mathieu CIET
Julien LEROUGE
Augustin J. FARRUGIA

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, FAQs, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “METHOD AND APPARATUS FOR COMPUTER CODE OBFUSCATION AND DEOBFUSCATION USING BOOT INSTALLATION” (8881290). https://patentable.app/patents/8881290

© 2026 Nomic Interactive Technology LLC. Machine-readable context available at /api/llm-context/8881290. See llms.txt for full attribution policy.

METHOD AND APPARATUS FOR COMPUTER CODE OBFUSCATION AND DEOBFUSCATION USING BOOT INSTALLATION