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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.