Written by: thempra 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. 😉
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