Written by: on 03/10/2007 @ 08:00

Dado el interes de mis nuevos compañeros de trabajo vamos a contar
algunas cosillas de la decompilacion. Antes de hablar de ofuscacion de
codigo seria conveniente el por que del uso de la ofuscacion en .NET

MSIL

Es el lenguaje intermedio que usa .NET,
nuestro programas, dll, ….. al compilar no pasan directamente a
codigo maquina, si no que se convierte en este codigo. Y ya puede ser
ejecutado bajo el Framework de .NET,

Reflector

Herramienta IMPRESIONANTE,
problarla todos aquellos que no la hayais visto trabajar nunca, puedes
abrir cualquier exe, dll, … desarrollado en .NET ( dado que lees es
el MSIL ) y ver el codigo fuente de la aplicacion sin mayor misterio. Y
sin duda que no se os olviden probar los plugins con el que podras
decompilar SilverLight, que nos salgan para PowerShell, ….  <Descargar>


DotFuscator

Ofuscador de codigo con el podemos codificar el codigo MSIL, asi
podremos evitar que con herramientas como reflector a pelo podamos
meternos hasta la cocina en el codigo del vecino. Viene integrado con
el Visual Studio. Seguro que lo tienes instalado y aun no te habias
dado ni cuenta. 😉

 

  Ejemplo del uso de Reflector y DotFuscator

 

Problemas ….. los hay, la ofuscacion no es una
solucion definitva de ocultacion de codigo, dado que como podreis ver,
tanto en el video como en vuestras pruebas, el codigo en si queda
bastante ilegible, el gran problema que tienes son los string, en ese
caso es que puedes volver a reconstruirlas. Si en las string tienes las
cadenas de conexion, con login y password, las sentencias SQL, o todo
lo que sabeis que se llegan a meter en este formato, pueden ser
obtenidas y provocar problemas.

 

No puedes hablar de ofuscacion si nombrar otra gran herramienta:

Salamander, otro gran decompilador a dia de hoy es capaz de directamente desofucar las cadenas o poder examinar todo string que queramos.

 

 Conclusion

No creo en la ofuscacion, dado que lo el codigo que pueda genera cualquier programador, puedo hacerlo otro con la misma funcionalidad o mejor. Lo que hay que proteger son los datos en si, que a dia de hoy es lo que realmente tiene valor, tanto de logins, como urls, como el dato de cualquier persona.

La otra opcion a la ofuscacion es el patentar tu algoritmo, pero en un mundo que convive perfectamente con el Software Libre, creo que el tema de patentar un bucle for no es algo de lo que merezca la pena ni pensar.
Y si estais mas interesados en algoritmia de ofuscacion os recomiento este ppt

 

Catogories: .NET

Leave a Reply