views:

759

answers:

7

Hi,

We are working on many products that are being published at our customers. But if you publish a C# application, all the dll's can be decompiled using reflector or some sort.

I was wondering if there is an easy way to encrypt our dll's when publishing. This way we can publish our dll's without having to worry about our clients decompiling our code.

Kind regards, Sem

ps: if it's possible to integrate this within visual studio that would be awesome.

EDIT: Sorry about the double post, I didn't know it was called "obfuscation".

+1  A: 

there are lots of obfuscators out there. i e.g. are quite confident with smartassembly

Joachim Kerschbaumer
+2  A: 

The process of encrypting .NET assemblies is called obfuscation, and tools that do this are naturally enough called obfuscators. There's one that comes with Visual Studio (Dotfuscator Community Edition), but it's said that it's limited.

And don't go with XHEO.

Anton Gogolev
+1  A: 

http://en.wikipedia.org/wiki/Dotfuscator

You already have the community edition in VisualStudio under your tools menu

jayrdub
+3  A: 

Dotfuscator Community Edition is installed along with Visual Studio Professional or higher versions. The Community edition, however, is a hobbyist or introductory version that only allows you to obfuscate the code to a degree by simple renaming of all members, is not integrated within VS and does not allow for robust features such as string encryption.

Cerebrus
And if you register the Community Edition you get a free upgrade to the enhanced version which does have Visual Studio integration. Also if you buy one of the commercial editions (either MDE or Pro) you get Visual Studio integration plus much more functionality.
Joe Kuemerle
A: 

The cheapest is Skater .NET obfuscator: http://rustemsoft.com/Skater.asp

Stick
+1  A: 

Another is smartassembly.

Taylor Leese