How to protect C# code?

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I happened accross a web site today for a company that demos their C#
decompiler, called Salamander (Just google "Salamander decompiler").

I uploaded my assembly and to my horror everything was decompiled !

Now, I'm not unfamiliar with decompiling code because as a former Java
programmer I've seen how vulnerable that was to decompiling. But I always
thought C#'s exe files were just like C++'s exe files- where there was no way
you can decompile them. (OK technically you can decompile anything into
Assembly code but if you're good enough to follow millions of lines of
assembly code as well as I can follow higher level C++ code then I'm not
worried about you looking into my code, you could write something alot
better!)

But anyway, is there any solution out there to thwart these decompilers? I'm
not really worried about my program working on other Operating systems or
plugins or anything like that, I just don't want someone decompiling my
program into it's actual C# code...

Thanks
 
MrNobody said:
I happened accross a web site today for a company that demos their C#
decompiler, called Salamander (Just google "Salamander decompiler").

I uploaded my assembly and to my horror everything was decompiled !

Now, I'm not unfamiliar with decompiling code because as a former Java
programmer I've seen how vulnerable that was to decompiling. But I always
thought C#'s exe files were just like C++'s exe files- where there was no way
you can decompile them.

No, .NET executables are far more like Java class files than native exe
files, in terms of the code contained.
But anyway, is there any solution out there to thwart these decompilers? I'm
not really worried about my program working on other Operating systems or
plugins or anything like that, I just don't want someone decompiling my
program into it's actual C# code...

See http://www.pobox.com/~skeet/csharp/faq/#obfuscation
 
Normal assemblies can be easily decompiled using the free .Net
Reflector. But if you obfuscate your assemblies, it is much harder
(almost impossible) for Reflector to work. Crypto Obfuscator (
http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm ) will do
good obfuscation on your .net exes and dlls.

In most cases obfuscation is just a waste of time.

That question was almost 6 years old.

:-)

Arne
 
Back
Top