My Photo
Name:
Location: United States

Wednesday, June 21, 2006

.NET Obfuscator- NGEN

Why can't I just use NGEN to compile my assemblies into a native code before shipping to my customers?

Even if an application has been compiled to native code, the .NET Runtime still requires that the complete metadata and IL be included in an assembly before it is allowed to execute. So using NGEN does not protect your intellectual property at all! In addition, NGEN code suffers from other problems including:

* NGEN'd code may lose some of the advantages that .NET gives you (eg, platform agnosticism, verifiabilty, interoperablilty)
* NGEN'd code cannot be signed and there may be security difference compared to managed code.
* NGEN'd code is harder to administer because it not automatically deleted when an assembly is uninstalled.
* NGEN'd code is brittle. It must be re-JITed every time the environment changes, which is why the metadata is still required.

0 Comments:

Post a Comment

<< Home