Class coalescence for obfuscation of object-oriented software
First Claim
Patent Images
1. A method of obfuscating an object-oriented program comprising the steps of:
- providing a program defined in terms of a plurality of classes, each of the classes having at least one of a field or a method;
combining at least two of the plurality of classes into a combined class, said step of combining comprising at least one of(a) including at least one field from at least one of the two classes in the combined class, or(b) including at least one method from at least one of the two classes in the combined class;
removing the at least two of the plurality of classes from the program; and
storing the program that includes the combined class.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of obfuscating an object-oriented program is provided. A program is provided that is defined in terms of a plurality of classes. Each of the classes has at least one of a field and a method. At least two of the plurality of classes are combined into a combined class. When the at least two classes are combined, at least one field from at least one of the two classes is included in the combined class, and/or at least one method from at least one of the two classes is included in the combined class. After the at least two classes are combined, the program is transmitted.
-
Citations
20 Claims
-
1. A method of obfuscating an object-oriented program comprising the steps of:
-
providing a program defined in terms of a plurality of classes, each of the classes having at least one of a field or a method; combining at least two of the plurality of classes into a combined class, said step of combining comprising at least one of (a) including at least one field from at least one of the two classes in the combined class, or (b) including at least one method from at least one of the two classes in the combined class; removing the at least two of the plurality of classes from the program; and storing the program that includes the combined class. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of obfuscating an object-oriented program comprising the steps of:
-
copying a first program to provide a second program; combining a first class and a second class included in the first program to produce a combined class in the second program; replacing all uses of the first class and the second class in the second program with respective uses of the combined class in the second program; removing the at least two of the plurality of classes from the program; and storing the second program that includes the combined class. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A method of obfuscating an object-oriented program comprising the steps of:
-
copying a first program to provide a second program; combining a first class and a second class included in the first program to produce a combined class in the second program; mapping each of a plurality of types included in the first program with a respective type in the second program; replacing all uses of the first class and the second class in the second program with respective uses of the combined class in the second program; removing the first class and the second class from the second program; and storing the second program that includes the combined class.
-
-
18. A computer readable medium including computer program instructions which cause a computer to implement a method for obfuscating an object-oriented program comprising the steps of:
-
providing a program defined in terms of a plurality of classes, each of the classes having at least one of a field and a method; combining at least two of the plurality of classes into a combined class, said step of combining comprising at least one of (a) including at least one field from at least one of the two classes in the combined class, or (b) including at least one method from at least one of the two classes in the combined class; removing the at least two of the plurality of classes from the program; and storing the program that includes the combined class.
-
-
19. A computer readable medium including computer program instructions which cause a computer to implement a method for obfuscating an object-oriented program comprising the steps of:
-
copying a first program to provide a second program; combining a first class and a second class included in the first program to produce a combined class in the second program; placing all uses of the first class and the second class in the second program with respective uses of the combined class in the second program; removing at least the first and second classes from the program; and storing the second program that includes the combined class.
-
-
20. A computer readable medium including computer program instructions which cause a computer to implement a method for obfuscating an object-oriented program comprising the steps of:
-
copying a first program to provide a second program; combining a first class and a second class included in the first program to produce a combined class in the second program; mapping each of a plurality of types included in the first program with a respective type in the second program; replacing all uses of the first class and the second class in the second program with respective uses of the combined class in the second program; removing the first class and the second class from the second program; and storing the second program that includes the combined class.
-
Specification