3

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

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

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

4

1 回答 1

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 图像并非旨在分发。本机图像生成与其运行的机器紧密耦合。

于 2014-02-13T05:59:37.023 回答