Piracy Prevention Using Unique Module Translation
11 Assignments
0 Petitions
Accused Products
Abstract
A method for providing solidified software in a computing environment includes creating a new reference for a function in a function table; copying an address of the function and associating the address with the new reference; replacing the address associated with an old reference of the function with a dummy address; and substituting each old reference in normal code with the new reference, where injected code is not able to execute in the computing environment. The function table entries can be further randomized by reordering the entries, introducing intermediate mappings, or providing non-operative entries. Alternatively, all or part of the code of the function can be copied and moved to a different storage location and associated with the new reference. The copied code can be further randomized by the insertion of dummy code, utilizing reverse peephole techniques, varying the size of the copied portion, or interleaving non-operative code.
125 Citations
46 Claims
-
1-26. -26. (canceled)
-
27. A method comprising:
-
creating a new reference for a function in a function table of a computer; copying an original address of the function; associating the original address to the new reference in the function table; and associating an original reference to a dummy address in the function table. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. Logic encoded in one or more tangible media that includes code for execution and when executed by a processor is operable to perform operations comprising:
-
creating a new reference for a function in a function table of a computer; copying an original address of the function; associating the original address to the new reference in the function table; and associating an original reference to a dummy address in the function table. - View Dependent Claims (38, 39, 40, 41)
-
-
42. An apparatus comprising:
-
an interface operable to communicate with a memory, wherein the interface is configured to; create a new reference for a function in a function table of a computer; copy an original address of the function; associate the original address to the new reference in the function table; and associate an original reference to a dummy address in the function table. - View Dependent Claims (43, 44, 45, 46)
-
Specification