Originally Posted by Andu
It depends. If the solution is really secure it could be released as open source like cryptographical algorithms. But in the case of .net Protectors I think that closed source is better, too.
you can use aproved algorithms like AES but you still have to hide the key somewhere. and once the key is entered (by user or the program uses the hidden key itself) the whole assembly lies unprotected in memory.
i don't know a single exe protector (native or .net) which has not been broken.
i don't know if it is realistic but i think the only secure way to protect source code is a new layer of the operating system which encrypts the whole RAM with a unique key that is generated at the installation of the OS. only the programs which stores data in ram (and maybe also system processes) can read their own data.