it's much like the whole riaa / music thing....
if someone wants it they will get it.
While I'm not commenting on if .net MSIL should be changed to be more 'secure'. Surely your last comment invalidates your argument, the whole DRM security thing, windows activation security and such- yes it gets broken- but that doesn't mean they stop, they keep going to make it so that less and less people are actually capable of breaking it.
I know people can break anything or know how something works. But Its about raising the bar higher each time. Now with MSIL, i see script kiddies, reverse engineering .NET applications with a click on a button. This is really bad. Now if you raise the bar higher, that only highly trained professionals would be able to if they want, then these kinds of people will not spend hours upon hours to break something that is not worth it for them. See the difference?
The amount of time you put into it will make it hard and unattractive to undertake.
With MSIL, just 1 click and there you have the code. So you spend alot of hours debugging and fixing stuff, and someone just takes it with a click of a button. Its just not right. and MS should have done a better job about this since the invention of .NET framework.
There should be native source encryption, using asymmetrical keys, with digital signatures.
This is one reason why you dont see commerisal applications written in .NET, most are written in Vb6 or C++ or C or other machine-code producing languages.
The way the .NET framework stuff works, is similar to client-server design without encryption. So your code from the time you compile it to the time its run in the client machine, is never really encrypted.
So MS really needs to step up and fix this problem.