Удаляет ли компиляция собственного кода в .Net полностью MSIL?

Мне интересно, является ли более безопасным в контексте дизассемблирования кода .Net (рефлектор Redgate .Net и т. д.) компилировать ваш код в родной, используя Ngen? То есть означает ли это, что теперь кому-то понадобятся навыки IDA и ASM для дизассемблирования (и понимания) вашего кода вместо относительно тривиальной декомпиляции MSIL?

Да, я знаю, что MS предоставляет обфускатер именно для этой цели, но мне любопытно, является ли компиляция в родной код лучшим решением с некоторыми компромиссами (без JIT).

Спасибо.


person Kim Sun-wu    schedule 30.12.2010    source источник


Ответы (1)


ngen не удаляет MSIL (точнее, собственный двоичный файл, созданный ngen, непригоден для использования без файла MSIL). MSIL по-прежнему используется средством проверки, чтобы определить, следует ли загружать сборки в сценариях с частичным доверием, а также для отражения.

Много полезной информации здесь.

person Ben Voigt    schedule 30.12.2010