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.
Original language | English (US) |
---|---|
Pages (from-to) | 107-118 |
Number of pages | 12 |
Journal | SIGPLAN Notices (ACM Special Interest Group on Programming Languages) |
Volume | 39 |
Issue number | 6 |
DOIs | |
State | Published - Jun 2004 |
Keywords
- Software piracy
- Software protection
- Watermarking
ASJC Scopus subject areas
- Software
- Computer Graphics and Computer-Aided Design