0

It is assumed that once the exe is build, nobody can dig out the oi-outs of the source code or the application but after looking Is it possible to "decompile" a Windows .exe? Or at least view the Assembly?

my assumption goes wrong. Then whats the way to protect our VS project if every logic is burnt inside the exe only.

If we use DLL developed in C# then can it be also decompiled ?

Community
  • 1
  • 1
Nitin Gupta
  • 202
  • 3
  • 9

5 Answers5

4

There is no way to stop anybody from decompilation

You can use obfuscator to change the names of variables, methods or classes to make your code less understandable.

As per msdn.

As for protection, there are a number of different schemes that customers have told me about.

  1. No protection. Some companies sell products that either ship with source code or have source code that can be bought separately, or have chosen not to protect certain parts of their application that have little IP.
  2. Some companies use the obfuscator that ships with VS 7.1 (a “Community Edition“ of PreEmptive Solution's Dotfuscator)
  3. Some companies use one of the commercial obfuscators out there. There's a list on the C# Developer Center on MSDN.
  4. Some companies write the sensitive parts of their code in C++, compile that to an unmanaged DLL, and then use interop to call into the unmanaged DLL.
Asif Mushtaq
  • 13,010
  • 3
  • 33
  • 42
1

You have to use an obfuscator to accomplish your task.
You can find someone for free (with limited capabilities) and many commercial.
Search Google with "c# obfuscator" and take a look.

Marco
  • 56,740
  • 14
  • 129
  • 152
1

You could use Obfuscation to make it hard to disassemble.

Darin Dimitrov
  • 1,023,142
  • 271
  • 3,287
  • 2,928
1

There are software licensing tools that allow you to encapsulate and encrypt your code using their security api's and tools. Have a look at SafeNet Sentinel LDK. Problem is its not free. But does allow you to provide additional security to your software's ip in addition to the above.

Garry
  • 11
  • 1
0

You to use code obfuscation, that tool will change your code to form in which human cannot understand your code.

It would change your valid/readable function names to unreadable form . For eg, GetPersonData() to __A___ASAS_()

https://stackoverflow.com/questions/805549/free-obfuscation-tools-for-net

Community
  • 1
  • 1
Rajesh Subramanian
  • 6,400
  • 5
  • 29
  • 42