How to protect C# code?

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
 
J

Jon Skeet [C# MVP]

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
 
A

Arne Vajhøj

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top