kirancodes.me
To Proof Maintenance & Beyond!

Dynamic path-based software watermarking

Christian S. Collberg, Edward Carter, Saumya K. Debray, Andrew Huntwork, John D. Kececioglu, Cullen Linn, Michael Stepp

Abstract

Software watermarking is a tool used to combat software piracy by embedding identifying information into a program. Most existing proposals for software watermarking have the shortcoming that the mark can be destroyed via fairly straightforward semantics-preserving code transformations. This paper introduces path-based watermarking, a new approach to software watermarking based on the dynamic branching behavior of programs. The advantage of this technique is that error-correcting and tamper-proofing techniques can be used to make path-based watermarks resilient against a wide variety of attacks. Experimental results, using both Java bytecode and IA-32 native code, indicate that even relatively large watermarks can be embedded into programs at modest cost.

Related papers