Dotfuscator Professional Edition supports watermarking .NET assemblies. Watermarking can be used to unobtrusively embed data such as copyright information or unique identification numbers into your .NET application without impacting its runtime behavior. This is one method that can be used to track unauthorized copies of your software back to the source. Dotfuscator’s watermarking algorithm does not increase the size of your application, nor does it introduce extra metadata that could break your application.
For details, see the online user's guide.