I am woundering when will people use managed world execlusively.
THe only thing that is unattractive in the C# language or VB.NET is the fact that your compiled source code can be decompiled easily from MSIL. MS
should make this hard, as hard as decompiling machine code.
Infact the compiler itself, when it builds a project, should apply obfuscation natively, without programmer input. Also, there should be some kind of cryptosystem between the runtime, and your compiled source.
If this happened, I see no real reason to use unmanaged code over managed code.
Nope! sorry but this is silly as heck.
if someone has a "Native" x86 file and wants to work out what it does / reverse engineer it they can if they want to and have the skills to do it.
if soneone gets a .net dll / exe same thing....
the premis that a .net app will expose some logic that others will want to steal or modify is not very real IMHO.
take one direction:
you wrote a super great xyz() in each of C++ and C# and I want to steal the code...
why will native x86 stop me?
why would obfuscation stop me?
if I want the working code I do not care what the symbols are....
I just find the start and end of the code and any vars that go with it and copy them....
if I really want to steal that code and hide my tracks I can run it with varied inputs and log the results .... trace thru the execution path and after a while I will have the algorithim....
x86 code same deal.... look at how stuff like keycodes get hacked.
do you think most of the crackers understand the logic?
nope, just find the way to bypass it and back patch.
it's much like the whole riaa / music thing....
if someone wants it they will get it.