Collusion-resistance by Obfuscation in SandMark

Fingerprinting a program leaves you open to collusive attacks. In this figure Sally buys two differently fingerprinted copies of Alice's program, compares them for differences, locates the fingerprinting code, and is able to remove the fingerprint from one of the copies:

To prevent collusive attacks, SandMark provides several types of code obfuscations that will scramble a fingerprinted program. This way you can distribute two differently fingerprinted copies of your program without fear that simple differential attacks will reveal the location of the fingerprints:

The output of the obfuscator is a new watermarked jar-file prog-watermark-obf.jar. This is the program that you would normally distribute and which will serve as input to the recognizer.

Follow these instructions to obfuscate: