US2004034602A1PendingUtilityA1
Method and apparatus for watermarking binary computer code
Est. expiryAug 16, 2022(expired)· nominal 20-yr term from priority
G06F 21/125G06F 21/16G06F 11/3604
42
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method and apparatus for inserting a watermark into a compiled computer program. A location process specifies an insertion point in the compiled program and a watermark generating process inserts a watermark, based on data to be encoded, into the program at the insertion point. The location process is also utilized to specify the location of watermark data to be decoded.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . In a computer system, a method for encoding data as a watermark in an executable copy of a computer program generated by a compiler, with the data including a plurality of binary digits, the method comprising:
executing an instruction number generating process to generate an instruction number specifying an insertion point in the computer program; and executing an encoding function that, for each binary digit in the data to be embedded, inserts the data bit, or a bit derived or dependent on the data bit, into the computer program at the insertion point.
2 . In a computer system, a method for encoding data, the data including a plurality of binary digits, in an executable copy of a computer program generated by a compiler, the method comprising:
executing an instruction number generating process to generate an instruction number specifying an insertion point in the computer program; and executing an encoding function that, for each binary digit in the data, encodes the data as a fake executable instruction, that, when executed, has no effect on the running of the program, and inserts the fake instruction generated at the insertion point.
3 . The method of claim 2 further comprising the acts of:
executing a decoding function for decoding the fake executable instruction, inserted at the insertion point, into a binary digit; and
outputting the binary digit as part of the decoded data.
4 . In a computer system, a method for encoding data as a watermark in an executable copy of a computer program generated by a compiler and for decoding the watermark to recover the data, with the data including a plurality of digital characters, the method comprising:
for each character to be encoded:
calling a location determining process to generate an insertion point in the executable copy of the computer program;
inserting a representation of a character to be encoded at the insertion point;
for each representation to be decoded:
calling the location determining process to generate the location in the copy of the executable computer program of the representation to be decoded;
decoding the representation to recover the character that was encoded.
5 . The method of claim 4 where the step of inserting a representation further comprises the act of:
encoding the character to be encoded as a fake instruction that has no effect on the operation of a compiled program.
6 . The method of claim 4 further comprising the step of:
deleting the representation to be decoded from the executable copy of the computer program.
7 . A computer program product including computer readable program code for causing a computer to encode data as a watermark in an executable copy of a computer program generated by a compiler and to decode the watermark to recover the data, with the data including a plurality of digital characters, said computer program product comprising:
a computer readable medium having computer readable program code embodied therein, with said computer readable program code further comprising:
computer readable encoding program code for causing a computer to encode a character by generating an insertion point in the executable copy of the computer program and inserting a representation of a character to be encoded at the insertion point; and
computer readable decoding program code for causing a computer to decode a representation of character encoded into the executable copy of the computer program by generating the location in the copy of the executable computer program of the representation to be decoded and decoding the representation to recover the character that was encoded.
8 . A computer program product including computer readable program code for causing a computer to encode data as a watermark in an executable copy of a computer program generated by a compiler, with the data including a plurality of digital characters, said computer program product comprising:
a computer readable medium having computer readable program code embodied therein, with said computer readable program code further comprising:
computer readable encoding program code for causing a computer to encode a character by generating an insertion point in the executable copy of the computer program and inserting a representation of a character to be encoded at the insertion point.
9 . A computer program product including computer readable program code for causing a computer to decode a watermark to recover data encoded as the watermark in an executable copy of a computer program generated by a compiler, with the data including a plurality of digital characters, said computer program product comprising:
a computer readable medium having computer readable program code embodied therein, with said computer readable program code further comprising:
computer readable decoding program code for causing a computer to decode a representation of a character encoded into the executable copy of the computer program by generating the location in the copy of the executable computer program of the representation to be decoded and decoding the representation to recover the character that was encoded.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.