Obfuscating computer program code
First Claim
1. A computer-implemented method of tamper-protecting a computer program, the method comprising:
- processing, by a computer, an input representation of the computer program to identify a function call for causing a data processing system to continue execution of the computer program at a predetermined entry point memory address of a function when the execution has reached a calling site, and upon termination of the function to return to the calling site and to continue execution of the computer program from the calling site onwards, when the computer program is executed by a data processing system;
replacing, by the computer, the identified function call with a modified function call, wherein the modified function call includes an algebraic expression for causing the data processing system to compute the entry point memory address when the computer program is executed by the data processing system, and the algebraic expression represents a decoding function for computing the entry point memory address from a set of parameters;
determining a respective parameter value of each of the set of parameters from an encoding function corresponding to the decoding function; and
generating an executable representation of the computer program from the input representation, wherein the executable representation includes one or more computer-executable instructions for causing the data processing system to assign the determined parameter values to respective ones of the set of parameters.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method of tamper-protecting a computer program, the method comprising: processing an input representation of the computer program to identify a function call for causing a data processing system to continue execution of the computer program at a predetermined entry point memory address when said computer program is executed by a data processing system; replacing the identified function call with a modified function call, wherein the modified function call includes an algebraic expression for causing the data processing system to compute the entry point memory address when said computer program is executed by the data processing system.
260 Citations
16 Claims
-
1. A computer-implemented method of tamper-protecting a computer program, the method comprising:
-
processing, by a computer, an input representation of the computer program to identify a function call for causing a data processing system to continue execution of the computer program at a predetermined entry point memory address of a function when the execution has reached a calling site, and upon termination of the function to return to the calling site and to continue execution of the computer program from the calling site onwards, when the computer program is executed by a data processing system; replacing, by the computer, the identified function call with a modified function call, wherein the modified function call includes an algebraic expression for causing the data processing system to compute the entry point memory address when the computer program is executed by the data processing system, and the algebraic expression represents a decoding function for computing the entry point memory address from a set of parameters; determining a respective parameter value of each of the set of parameters from an encoding function corresponding to the decoding function; and generating an executable representation of the computer program from the input representation, wherein the executable representation includes one or more computer-executable instructions for causing the data processing system to assign the determined parameter values to respective ones of the set of parameters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
Specification