Systems and methods for watermarking software and other media
First Claim
1. A method for watermarking computer code, the method performed by a computer system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method comprising:
- statistically analyzing the computer code to generate a probabilistic state model relating to sequences of operation codes included in the computer code, wherein the analyzing comprises;
analyzing the computer code to identify a first operation code included in the computer code;
analyzing the computer code to identify a second operation code included in the computer code; and
determining a probability that the first operation code is followed by the second operation code within the computer code;
generating one or more statistical models of the computer code based on the probabilistic state model;
generating at least one watermark based on the one or more statistical models of the computer code; and
inserting the at least one watermark into the computer code.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for embedding information in software and/or other electronic content such that the information is difficult for an unauthorized party to detect, remove, insert, forge, and/or corrupt. The embedded information can be used to protect electronic content by identifying the content'"'"'s source, thus enabling unauthorized copies or derivatives to be reliably traced, and thus facilitating effective legal recourse by the content owner. Systems and methods are also disclosed for protecting, detecting, removing, and decoding information embedded in electronic content, and for using the embedded information to protect software or other media from unauthorized analysis, attack, and/or modification.
-
Citations
20 Claims
-
1. A method for watermarking computer code, the method performed by a computer system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method comprising:
-
statistically analyzing the computer code to generate a probabilistic state model relating to sequences of operation codes included in the computer code, wherein the analyzing comprises; analyzing the computer code to identify a first operation code included in the computer code; analyzing the computer code to identify a second operation code included in the computer code; and determining a probability that the first operation code is followed by the second operation code within the computer code; generating one or more statistical models of the computer code based on the probabilistic state model; generating at least one watermark based on the one or more statistical models of the computer code; and inserting the at least one watermark into the computer code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for watermarking a first computer code, the method performed by a computer system comprising a processor and a memory encoded with program instructions that, when executed by the processor, cause the system to perform the method, the method comprising:
-
statistically analyzing a second computer code to generate a probabilistic state model relating to sequences of operation codes included in the second computer code, where the analyzing comprises; analyzing the second computer code to identify a first operation code included in the second computer code; analyzing the second computer code to identify a second operation code included in the second computer code; and determining a probability that the first operation code is followed by the second operation code within the second computer code; generating one or more statistical models of the second computer code based on the probabilistic state model; generating at least one watermark based on the one or more statistical models of the second computer code; and inserting the at least one watermark into the first computer code. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification