The only truly safe way to protect your DLL is to not let them. Expose it instead through a web service, etc. (Obviously, this does not work in all cases). Every obfuscator can be broken with patience. Think about how much the gaming industry spends on it and things are broken / remodeled in a few days, sometimes hours.
Lawyers can serve as a layer of protection, and obfuscation will certainly prevent downtime. But a certain hacker (for example, for commercial illegal espionage) will be able to get your code in the end.
I think you just need to weigh the costs and benefits ...
Marc gravell
source share