One of the consequences of developing applications with managed code such as .NET or Java is that source code extraction (reverse engineering) becomes a very simple task. Today more than 500,000 ...