Dynamic path-based software watermarking

C. Collberg, E. Carter, S. Debray, A. Huntwork, J. Kececioglu, C. Linn, M. Stepp
2004 Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation - PLDI '04  
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
more » ... fing 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.
doi:10.1145/996841.996856 dblp:conf/pldi/CollbergCDHKLS04 fatcat:rluj7zxsozandd62e4zsbyiuvy