So we all know VB.NET compiles to byte code. Which is extremely easy to reverse engineer and steal/crack your program. For example, I compiled a .NET program and then used a program called code reflect to get back all the code, perfectly usable.
I know that all programs can be decompiled and blah, blah blah, but is there ways to improve VB.NET's code security? I already know about Obfuscation.