2010-12-30 11 views
8

Me pregunto si, en el contexto del desensamblaje del código .Net (reflector Redgate .Net, etc.), ¿es más seguro compilar su código para el nativo, usando Ngen? Es decir, ¿eso significa que alguien necesitaría ahora habilidades de IDA y ASM para desensamblar (y tener sentido) de su código frente a la compilación relativamente trivial de MSIL?¿La compilación del código nativo en .Net elimina el MSIL por completo?

Sí, soy consciente de que MS proporciona un ofuscador exactamente para este propósito, pero tengo curiosidad por saber si compilar en native es una solución mejor, con algunos intercambios (sin JIT).

Gracias.

Respuesta

8

ngen no elimina el MSIL (o más bien, el binario nativo producido por ngen es inutilizable sin tener también el archivo MSIL). El verificador todavía usa MSIL para determinar si cargar ensamblajes en escenarios de confianza parcial y para reflexión.

Hay mucha información buena here.

Cuestiones relacionadas