编译到.Net中的本机代码是否完全删除了MSIL?

时间:2010-12-30 05:36:48

标签: c# .net obfuscation cil

我想知道,在反汇编.Net代码(Redgate .Net反射器等)的背景下,使用Ngen将代码编译为本机是否更安全?也就是说,这是否意味着某人现在需要IDA和ASM技能来反汇编(并且有意义)你的代码与相对简单的MSIL反编译相比?

是的,我知道MS为此提供了一个混淆器,但我很好奇,如果编译为native是一个更好的解决方案,需要一些权衡(没有JIT)。

感谢。

1 个答案:

答案 0 :(得分:8)

ngen不会删除MSIL(或者更确切地说,ngen生成的本机二进制文件在没有MSIL文件的情况下也无法使用)。验证程序仍然使用MSIL来确定是在部分信任方案中加载程序集还是用于反射。

有很多好消息here