Question

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?

Was it helpful?

Solution

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

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.

OTHER TIPS

There are tools that also 'deobfuscate' obfuscated DLLs - I'd suggest turning the piece that needs to be protected into an unmanaged component.

http://xheo.com/products/code-protection

Done the job for me in the past.

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.

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top