Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best method to obfuscate or secure .Net assemblies [closed]

Tags:

c#

.net

.net-2.0

I'm looking for a technique or tool which we can use to obfuscate or somehow secure our compiled c# code. The goal is not for user/data security but to hinder reverse engineering of some of the technology in our software.

This is not for use on the web, but for a desktop application.

So, do you know of any tools available to do this type of thing? (They need not be free)

What kind of performance implications do they have if any?

Does this have any negative side effects when using a debugger during development?

We log stack traces of problems in the field. How would obfuscation affect this?

like image 470
Curtis Avatar asked Sep 12 '08 20:09

Curtis


People also ask

What is .NET obfuscation?

Obfuscation is pretty simple (in concept), the idea is to alter your code in such a way that it makes the code much harder for a human to understand if they look at it using . NET reflection.

Is obfuscation secure?

Obfuscation is a built-in security method, sometimes referred to as application self-protection. Instead of using an external security method, it works within what's being protected. It is well-suited for protecting applications that run in an untrusted environment and that contain sensitive information.


1 Answers

This is a pretty good list of obfuscators from Visual Studio Marketplace Obfuscators

  • ArmDot
  • Crypto Obfuscator
  • Demeanor for .NET
  • DeployLX CodeVeil
  • Dotfuscator .NET Obfuscator
  • Semantic Designs: C# Source Code Obfuscator
  • Smartassembly
  • Spices.Net
  • Xenocode Postbuild 2006
  • .NET Reactor

I have not observed any performance issues when obfuscating my code. If your just sending text basted stack traces you might have a problem translating the method names.

like image 129
Aaron Fischer Avatar answered Oct 14 '22 18:10

Aaron Fischer