1) Don't give anyone your code (may sound stupid but this is the only sure fire way - people call your functionality by remote invocation of some type).
After 1) it all comes down to can we make this cost more to reverse engineer than the benfit from reverse engineering it.
2) Obfuscate - Demeanor, Dotfuscator and there are others will mange your code to make it very unreadable and much harder to decompile
3) Compile teh sensitive bits in unmanaged code and use interop to talk to them - this makes things as hard as if you'd not moved to managed code
4) Don't bother - is your code actually that valuable in the details of each method or only in the architecture and structure of the code in general. The vast majority of applications fall into this category I would argue. For example, I don't think being able to rverse engineer Word would get me much because the real IP is in the structure of the code in the large, not in the small.
Regards
Richard Blewett - DevelopMentor
http://staff.develop.com/richardb/weblog
nntp://news.microsoft.com/microsoft.public.dotnet.languages.csharp/<#
[email protected]>
With the reflector tool .exe, .dll can be decompile?
how can we secure our work?
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com).
Version: 6.0.760 / Virus Database: 509 - Release Date: 10/09/2004
[microsoft.public.dotnet.languages.csharp]