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, as filed with the USPTO.

1

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.

2

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

3

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

4

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.

5

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.

6

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

7

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.

8

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

9

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.

10

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.

11

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.

12

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.

13

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.

14

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.

15

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.

16

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.

17

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.

18

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.

19

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.

20

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.

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, 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 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.