Reputation: 407
I have heard some mutterings about C# being quite easy to "crack" and/or reverse engineer.
Is this the case and if so, how can I go about preventing this, if possible ? Or at least making it more difficult ?
Thanks, George.
Upvotes: 1
Views: 3004
Reputation: 3980
.Net code is pretty easy to view even when compiled, because all the metadata (the information about classes, methods and properties) is all contained in the executable. Basically all you need to get at the code is Reflector.
Obfuscating will basically rearrange and rename everything to make tools like Reflector harder to use. There's a stackoverflow question asking about which particular obfuscater you could use.
Upvotes: 1
Reputation: 16685
There are a number of libraries to deal with this, I think Microsoft release (or at least endorse) Dotfuscator
Upvotes: 1
Reputation: 14702
You can obfuscate your source code using for example Dotfuscator software which comes with Visual Studio. If you want to see reverse engineering in action - download Reflector, and open your exe in it. You'll be surprised :)
Upvotes: 2
Reputation: 17018
To some extent it is. The IL can be viewed and reverse-engineered. Some people use obfustators to scramble all of the names in the assembly, thus making it near impossible to derive any app logic.
Upvotes: 1
Reputation: 43207
Obfuscate your assembly.
You can refer to this instituitional article to learn more about Obfuscation.
Upvotes: 3