sábado, 24 de septiembre de 2011

Ofuscación de código interpretado

Según la wikipedia, la ofuscación es:
En computación, la ofuscación se refiere al acto deliberado de realizar un cambio no destructivo, ya sea en el código fuente de un programa informático o código máquina cuando el programa está en forma compilada o binaria, con el fin de que no sea fácil de entender o leer.

Pues con esta definición en mente,  vamos a ofuscar el código del proyecto correspondiente al post anterior titulado "Decompilación de código interpretado". Para ello usaremos una herramienta gratuita llamada Eazfuscator.NET que proporciona unos resultado excelentes, casi a la altura de algunos de pago.

Esta herramienta se integra perfectamente en el entorno de desarrollo de Visual Studio:




Ofuscando el código al generar la versión release del proyecto:  




Si decompilamos el ejecutable que se ha generado con eazfouscator y lo comparamos con el de la entrada anterior, se observa que ahora ya no es tan trivial seguir el código, es más, resulta casi imposible entender nada:




En resumen, esta es un buena técnica de protección de código frente a un posible ataque de ingeniería inversa, pero no nos engañemos, no hay nada infalible y menos esto. Sin embargo sí da un cierto grado de tranquilidad en el despliegue de este tipo de código.

No hay comentarios:

Publicar un comentario