The great majority of folks loved the new decompilation features in Visual Studio 16.5, but that did not stop me having to field a bunch of important questions about the history of decompilation, and ultimately when this kind of feature should be disabled.
So here is the deal, if you do not want Visual Studio to be able decompile your assembly or module you can use the the SuppressIldasmAttribute:
[assembly: SuppressIldasmAttribute()] class Program { static void Main(string[] args) { Console.WriteLine("The SuppressIldasmAttribute is applied to this assembly."); } }
The SuppressIldasmAttribute was originally used to stop an assembly or module from being disassembled using the Ildasm.exe (IL Disassembler), and we are using this same attribute to indicate to Visual Studio the same thing.
This results in the following message:
Happy decompiling … or not as the case may be.
1)Ignorant newbies trying to decompile: 98%
2)Medium-advanced programmers: 1.5%
3)Really good-proficient programmers: 0.5% (maybe less)
Perhaps the point is: if you can stop group 1, you´re having some significative earning. Ok, group 2 is very hard to stop, and group 3 is in fact unstoppable. Normally, if your software is very attractive/interesting, the guys in group 2-3 won´t waste time dissasembling it: will see it and will replicate some or all its features/behaviours.
Anyway that's why we also have obfuscators.
And btw, ConfuserEx is not maintained anymore and does not correctly support .NET Standard / .NET Core / Modern C# features. If anybody here has an alternatve, I'll take!
Comments are closed.