我想知道,在反汇编.Net代码(Redgate .Net反射器等)的背景下,使用Ngen将代码编译为本机是否更安全?也就是说,这是否意味着某人现在需要IDA和ASM技能来反汇编(并且有意义)你的代码与相对简单的MSIL反编译相比?
是的,我知道MS为此提供了一个混淆器,但我很好奇,如果编译为native是一个更好的解决方案,需要一些权衡(没有JIT)。
感谢。
答案 0 :(得分:8)
ngen
不会删除MSIL(或者更确切地说,ngen
生成的本机二进制文件在没有MSIL文件的情况下也无法使用)。验证程序仍然使用MSIL来确定是在部分信任方案中加载程序集还是用于反射。
有很多好消息here。