Definición
¿Qué es el invalid code?
El invalid code es una técnica de ofuscación que aprovecha la brecha entre lo que acepta un runtime y lo que espera un decompilador. Inserta secuencias que el runtime de .NET ejecuta sin problema pero que los decompiladores no pueden interpretar.
Los decompiladores reconstruyen código fuente legible a partir del código compilado asumiendo que sigue los patrones que produce un compilador normal. El invalid code rompe esa suposición.
La aplicación se comporta exactamente como se espera, porque el runtime maneja las secuencias correctamente. El decompilador, que espera código con forma de compilador, falla: peta, se salta métodos o produce una salida que no compila.
