Menú de navegaciónMenú
Categorías

La mejor forma de Aprender Programación online y en español www.campusmvp.es

?id=5dacb567-cb53-4a2c-800d-6de193909cee

Ofuscación: cómo proteger el código de tus aplicaciones .NET

En un post anterior vimos cómo era posible recuperar el código de cualquier programa de .NET a partir de su .exe o .dll usando un descompilador. Hoy vamos a ver cómo podemos tratar de evitarlo gracias al uso de un ofuscador de código.

Los ofuscadores de código, como su propio nombre indica, tienen la capacidad de complicar mucho el código original de modo que, aunque no cambia lo que hace el programa, y el computador es capaz de ejecutarlo sin problemas, cuando un humano lee el código fuente resultante es tan complejo que no es capaz de seguirlo.

Primero te cuento en este vídeo cómo puedes lograrlo y, a continuación, te dejo algunas consideraciones importantes sobre estas técnicas de ofuscación, el código de ejemplo, y los enlaces mencionados.

¡Vamos allá!

Debes tener en cuenta que la ofuscación no impide descompilar el código, sólo lo complica mucho, por lo que si lo que quieres ocultar es un detalle muy concreto (como una protección o licencia) no te servirá de mucho ante un "cracker" con determinación.

Existen algunas herramientas muy especializadas como De4DOT o DEObfuscar, que se especializan en deshacer la ofuscación con más o menos éxito según la complejidad del programa. Por ejemplo, aunque es muy efectivo con otros descompiladores, De4Dot no logra apenas nada con el código ofuscado con Obfuscar, el ofuscador que he utilizado en el vídeo. Sin embargo, DEObfuscar es mejor y puede aclarar bastante el código, aunque sigue siendo muy lioso, entre otras cosas porque no recupera nombres de funciones internas, variables, etc...

Por otro lado, no debes obsesionarte con ofuscar el código. Al final hay una verdad universal en programación que, cuando tienes experiencia acabas por descubrir: es mucho más complicado leer código que escribirlo. Y si no, prueba a leer y entender el código de cualquier aplicación Open Source que conozcas que no tenga muchos comentarios o, sin ir más lejos, código tuyo de hace un par de años si lo tienes. Lo más importante en una aplicación no trivial son las miles de pequeñas decisiones que se toman y por qué se toman, y no tanto la implementación concreta de las mismas. Por eso es muy importante mantener una buena documentación interna y externa.

De todos modos, si lo necesitas, espero que este vídeo te haya resultado interesante para aprender a proteger tu código fuente para .NET.

Te dejo el código fuente de las aplicaciones de ejemplo aquí:

Enlaces de interés:

 

José Manuel Alarcón Fundador de campusMVP, es ingeniero industrial y especialista en consultoría de empresa. Ha escrito diversos libros, habiendo publicado hasta la fecha cientos de artículos sobre informática e ingeniería en publicaciones especializadas. Microsoft lo ha reconocido como MVP (Most Valuable Professional) en desarrollo web desde el año 2004 hasta la actualidad. Puedes seguirlo en Twitter en @jm_alarcon o leer sus blog técnico o personal. Ver todos los posts de José Manuel Alarcón

¿Te ha gustado este post?
Pues espera a ver nuestro boletín mensual...

Suscríbete a la newsletter

La mejor formación online para desarrolladores como tú

Agregar comentario

Los datos anteriores se utilizarán exclusivamente para permitirte hacer el comentario y, si lo seleccionas, notificarte de nuevos comentarios en este artículo, pero no se procesarán ni se utilizarán para ningún otro propósito. Lee nuestra política de privacidad.