Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
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.
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.
2. The method of claim 1 , further comprising the masking the obfuscated code instances.
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.
3. The method of claim 1 , wherein the obfuscated code when executed is equivalent but not identical to the compiled code.
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.
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.
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.
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.
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.
6. The method of claim 1 further comprising selecting the different obfuscation functions based on characteristics of the recipient devices.
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.
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.
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.
8. The method of claim 7 , wherein each of the coarsely integrated operand scanning functions have a base value of a different length.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Unknown
November 4, 2014
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.