The Software Watermarking problem can be described as follows. Embed a structure W into a program P such that: W can be reliably located and extracted from P even after P has been subjected to semantics preserving transformations such as code optimization and obfuscation; W is stealthy; W has a high data rate; embedding W into P does not adversely affect the performance of P; and W has a mathematical property that allows us to argue that its presence in P is the result of deliberate actions.
In the first part of the paper we construct an informal taxonomy of software watermarking techniques. In the second part we formalize these results. Finally, we propose a new software watermarking technique in which a dynamic graphic watermark is stored in the execution state of a program.
This report is superseded by the article
Software Watermarking: Models and Dynamic Embeddings.
See also the articles
Manufacturing Cheap, Resilient, and Stealthy Opaque Constructs
and
Breaking Abstractions and Unstructuring Data Structures.
| Gzipped Postscript |
|||
|---|---|---|---|
| Article | A4 | LETTER | (171k) |
| Postscript |
|||
| Article | A4 | LETTER | (726k) |
| Gifs |
|||
| Article | [p1] [p2] [p3] [p4] [p5] [p6] [p7] | (7*20k) | |
| [p8] [p9] [p10] [p11] [p12] [p13] [p14] | (6*20k) | ||
| Tar'ed Gifs |
|||
| Article | A4.tar | (248k) | |
| ASCII Text |
|||
| The BibTeX entry | BibTeX.bib | (2k) | The Abstract | Abstract.txt | (2k) |