Watermarking, tamper-proofing, and obfuscation - Tools for software protection

Christian S. Collberg, Clark Thomborson

Research output: Contribution to journalArticlepeer-review

498 Scopus citations


We identify three types of attack on the intellectual property contained in software and three corresponding technical defenses. A defense against reverse engineering is obfuscation, a process that renders software unintelligible but still functional. A defense against software piracy is watermarking, a process that makes it possible to determine the origin of software. A defense against tampering is tamper-proofing, so that unauthorized modifications to software (for example, to remove a watermark) will result in nonfunctional code. We briefly survey the available technology for each type of defense.

Original languageEnglish (US)
Pages (from-to)735-746
Number of pages12
JournalIEEE Transactions on Software Engineering
Issue number8
StatePublished - Aug 2002


  • Intellectual property protection
  • Obfuscation
  • Tamper-proofing
  • Watermarking

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Watermarking, tamper-proofing, and obfuscation - Tools for software protection'. Together they form a unique fingerprint.

Cite this