Ngen可以用于代码安全吗?

时间:2013-06-06 08:36:27

标签: c# .net security obfuscation ngen

Ngen可以用作完美的代码混淆器,保护您的.NET CIL不会到达客户端吗?

我可以在我的开发PC上运行Ngen并将exe发送给具有兼容.NET框架版本的每个客户端吗? (假设两者都是x86或x64)Ngen'd exe跨机器有什么区别?

我知道最新的Ngen会生成一个包含IL + Native代码的exe,可以使用Reflector之类的东西将其提取并“转换”回源代码。但是,ngen for .NET framework 1.1 剥离生成的exe中的IL,如果使用.NET framework 1.1,则可以选择代码安全性。

1 个答案:

答案 0 :(得分:5)

不,CLR需要IL汇编才能找到相应的原生图像。因此,无论如何您都需要分发IL二进制文件。 有关CLR如何查找原生图像的详细信息,请参阅此页面:http://blogs.msdn.com/b/abhinaba/archive/2013/12/11/net-loading-native-ngen-images-and-its-interaction-with-the-gac.aspx

此外,NGEN图像不是为分发而设计的。原生图像生成与其运行的机器紧密耦合。