In addition to what Sergey wrote and answers to the questions in your comment:
Quote:
You say .Net Assemblies, i say .Net Application, same thing?
.Net Assemblies are either Executables (.exe) or Dynamic Link Libraries (.dll) which are being used by Executables. Usually you refer to an Application as the whole product with all the parts that it requires to run, which includes .Net Assemblies.
Quote:
Ok, let's be simple, i made an app on C# .Net, and now i have .exe file i can use to run my whole app.
So, can anyone convert it into a readable source code, then customize it?
Theoretically yes. In practise it obviously requires effort and the question would be if someone would be sufficiently motivated to do that. Assuming you're talking about potential revenue losses when selling an application: Consider if someone who would hack your application would be a paying customer if he wasn't able to do that. Probably not. However, there are measures you can take to increase the amount of effort required to hack your .Net application:
Obfuscators[
^] will modify your application's assemblies in a way that it becomes considerably more difficult to make any sense of the source code that comes from decompiling, some even provide measures to make the decompiling process itself much harder.