<p>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. </p>

<p>This is not for use on the web, but for a desktop application.</p>

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

<p>What kind of performance implications do they have if any?</p>

<p>Does this have any negative side effects when using a debugger during development?</p>

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

[{'answer_id': 59947, 'author': 'Gishu', 'author_id': 1695, 'author_profile': 'https://Stackoverflow.com/users/1695', 'pm_score': 0, 'selected': False, 'text': "<p>There are tools that also 'deobfuscate' obfuscated DLLs - I'd suggest turning the piece that needs to be protected into an unmanaged component.</p>\n"}, {'answer_id': 60054, 'author': 'Aaron Fischer', 'author_id': 5618, 'author_profile': 'https://Stackoverflow.com/users/5618', 'pm_score': 6, 'selected': True, 'text': '<p>This is a pretty good list of obfuscators from <a href="https://marketplace.visualstudio.com/search?term=.net%20obfuscators&amp;target=VS&amp;category=All%20categories&amp;vsVersion=&amp;sortBy=Relevance" rel="noreferrer">Visual Studio Marketplace</a>\nObfuscators</p>\n\n<ul>\n<li><a href="https://www.armdot.com/" rel="noreferrer">ArmDot</a></li>\n<li><a href="http://www.ssware.com/cryptoobfuscator/obfuscator-net.htm" rel="noreferrer">Crypto Obfuscator</a></li>\n<li><a href="http://www.wiseowl.com/products/products.aspx" rel="noreferrer">Demeanor</a> for .NET</li>\n<li><a href="http://xheo.com/products/code-protection" rel="noreferrer">DeployLX CodeVeil</a></li>\n<li><a href="http://www.preemptive.com/" rel="noreferrer">Dotfuscator</a> .NET Obfuscator</li>\n<li><a href="http://www.semdesigns.com/products/obfuscators/csharpobfuscator.html" rel="noreferrer">Semantic Designs</a>: C# Source Code Obfuscator</li>\n<li><a href="http://www.smartassembly.com" rel="noreferrer">Smartassembly</a></li>\n<li><a href="http://www.9rays.net/Products/Spices.Net/" rel="noreferrer">Spices.Net</a></li>\n<li><a href="http://www.xenocode.com/Products/Postbuild/" rel="noreferrer">Xenocode</a> Postbuild 2006</li>\n<li><a href="http://www.eziriz.com/" rel="noreferrer">.NET Reactor</a></li>\n</ul>\n\n<p>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.</p>\n'}, {'answer_id': 60064, 'author': 'Jonathan Allen', 'author_id': 5274, 'author_profile': 'https://Stackoverflow.com/users/5274', 'pm_score': -1, 'selected': False, 'text': "<p>You are wasting your time going down that path. If you have code that you don't want anyone to see, you need to keep it behind closed doors. For example, only execute that code on your own server using a web service interface.</p>\n\n<p>Obfuscating your code only deters the most casual of people. As the video game industry leaned a long time ago, no code is safe from cracking.</p>\n"}, {'answer_id': 60081, 'author': 'Crippeoblade', 'author_id': 6204, 'author_profile': 'https://Stackoverflow.com/users/6204', 'pm_score': 0, 'selected': False, 'text': '<p><a href="http://xheo.com/products/code-protection" rel="nofollow noreferrer">http://xheo.com/products/code-protection</a></p>\n\n<p>Done the job for me in the past.</p>\n'}]
['https://Stackoverflow.com/questions/59893', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/454247/']