Since this is a forum for asking .NET questions, I'm assuming your talking about .NET. The quick answer is it's easy with Lutz Roeder's Reflector for .NET (http://www.aisto.com/roeder/dotnet/). It's a decompiler for .NET assemblies and the price is absolutely right: free!
If the fact that it's trivial to decompile a .NET assembly scares the pants off you, you can always turn to an obfuscator. The best on the market, in my opinion, is Brent Rector's Demeanor (http://www.wiseowl.com). The fact that Lutz protects his decompiler from prying eyes with Demeanor is proof enough for me.
This was first published in May 2004