Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do you use to protect your .NET code from reverse engineering? [closed]

For a while we were using a tool called CodeVeil. I'm just wondering if there are better alternatives out there.

Edit: Before more people misunderstand the question, I'm aware that a determined cracker would probably be able to defeat any of these tools. I'm not too concerned about them though. These tools are just meant to stop the "casual cracker", and to stop people from stealing our company's IP. If they're good enough to get past a decent tool, they probably aren't interested in stealing our crappy code :-P

like image 446
ilitirit Avatar asked Sep 20 '08 02:09

ilitirit


People also ask

Can you protect against reverse engineering?

It is not possible to protect the application from reverse engineering completely.

What secure coding technique can be used to prevent software from being reverse engineered?

Making code difficult to reverse-engineer is called code obfuscation. Most of the techniques you mention are fairly easy to work around. They center on adding some useless code.

How do you stop reverse engineering DLL?

Select only with “Anti IL Dasm” and “Anti Tamper”, that is enough for making it hard enough to reverse engineer for the decompilers. After you click on Done, go to Protect tab and click on Protect button. You can find the protected DLL or EXE in the output directory selected.

Can you protect C# code?

You can't.


2 Answers

I've had a lot of success with Xenocode Postbuild. The tool can obfuscate .NET assemblies, protect agaist Reflector disassembly, combine .NET assemblies into a single executable ("virtualization") and even compile .NET applications to standalone executables that do not need .NET runtime installed.

like image 159
PoppaVein Avatar answered Sep 19 '22 14:09

PoppaVein


I remain unconvinced by the value of these tools. None of the technology solutions prevent reverse engineering any better than legal guards such as licences, trademarks, patents, copyrights etc...

.NET really is large transparent source movement. It's much better that instead you frame terms of use around your IP such as licencing and copyright.

like image 36
stephbu Avatar answered Sep 20 '22 14:09

stephbu