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

Kim*_*-wu 8 .net c# obfuscation cil

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

是的,我知道MS正是为了这个目的提供了一个混淆器,但我很好奇是否编译为native是一个更好的解决方案,有一些权衡(没有JIT).

谢谢.

Ben*_*igt 8

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

有很多很好的信息在这里.