.NET Code Protection

7

I have a C # application that I developed, it will be installed on multiple clients. The problem is that I have to protect the code of the application, because I did some tests with the application ILspy and all the source code is exposed. Anyone can grab a DLL that you have created and copy the source code. Visual Studio 2015 already has a tool to "obfuscate" the code, but it only changes the name of some variables and methods, a person with C # experience can easily dribble this.

What is the most feasible solution to protect .NET source code?

    
asked by anonymous 20.07.2016 / 19:42

2 answers

13

In a clear and succinct answer, DOES NOT HOW!

I say this can not be done because of how skillful you are, you will always have someone skilled enough in reverse engineering (or other types, including social engineering) to be able to break your protection. The crack's are the most real proof of this.

What you can do is make access difficult, but there is no way to ensure 100% protection.

But then does it mean I should leave the way it is?

That depends a lot. Sometimes the work you will have to make access difficult may not be feasible due to a number of factors, such as the time and costs involved.

But then there is nothing?

Well, there are some tools to in particular, that helps to accomplish this process, which are:

What is your recommendation?

Do not worry too much about this, because if a person has the ability to understand and use a reverse engineering system and let the code work, it often has the ability to do an equal, and sometimes the process can be even more fast.

Now, if your problem is with system misuse, you can use a form of licenses to ensure the system is used.

Add-ons:

As a complement, I leave some questions here on the subject, two of them very much like yours.

20.07.2016 / 20:13
1

No technique will actually protect, can make it difficult. If you're hiding a secret, you're doing something wrong in the code. If there is no secret, the harm to do so often outweighs the benefits. Read this, it's important .

You have a Wikipedia list with obfuscators . Obviously the quality of each will do a better job. Some techniques create problems for execution. It is common for the developer not to realize that the obfuscator is the causer and suffer without necessity. There are cases of people who always think the problems of their code is the obfuscator.

I do not know which is best, especially for your need.

    
20.07.2016 / 20:15