10. Software Similarity Analysis

So far, the algorithms you’ve seen, whether for obfuscation, tamperproofing, or watermarking, have had one thing in common: They’ve all been based on code transformations. That is, they take an unprotected program as input, apply one or more transformations on the code, and produce a more protected program as output. You can see this view of intellectual property protection reflected in the defense model in Section 2.2image86: Each of the protection primitives takes an unprotected universe as input and produces as output one in which a precious object is better protected than before.

In this chapter, you’ll see a very ...

Get Surreptitious Software now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.