O'Reilly logo

Surreptitious Software by Christian Collberg, Jasvir Nagra

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 9. Dynamic Watermarking

In the last chapter, you saw several algorithms that introduce a unique watermark number directly into the executable of a program. All of the algorithms make use of one of two basic ideas: Either encode the identifier as a permutation of the original code, or insert it in new but non-functional code. Reordering can be applied to any list-like language construct, such as statements, lists of declarations, function arguments, or lists of switch-statement labels. New code can be inserted by making sure that either it is never executed or its execution has no effect. Regardless of the embedding method, the algorithms in Chapter 8 have one thing in common: The watermark recognizer extracts the mark by analyzing the ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required