yes dotNet is open
and no you can't stop someone that knows what they are doing
this is true for C# and C++, it's all commands that anyone can read
level 1 - don't give out the source code - stops 50% of people
level 2 - obfuscation your source code - stops 80% of people
level 3 - encrypted EXE & non-dotNet wraper around your dotNet - stops 90%
level 4 - run on server - stops 30%-99% of people
level 45 - encrypted obfuscation in memory - dotNet is the matrix and you can do anything) - stops 99.9%
I like http://www.eziriz.com/
-.NET Reactor, this will stop most people, all but 100 or 200 in the world
step one nothing you do will ever stop everyone - it will only stop most. be ok with that.
I'm thinking about selling my skill in protecting programs, would anyone like to buy/rent this skill? what do people think of this.