SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => Otros CLR => Mensaje iniciado por: DarkSlash en Viernes 27 de Octubre de 2006, 19:34
-
Bueno encontré un comentario en awebdelprogramador.com que decía que .NET era inseguro puedo con Reflector (http://www.aisto.com/roeder/dotnet/ (http://www.aisto.com/roeder/dotnet/)) podías descompilarlo y bueno, obviamente, manipular el código.
Quería saber qué hay de cierto en eso y cuáles son las prácticas que deben tomarse para evitarlo.
-
Totalmente falso... en interpretacion.
al igual que cualquier otro lenguaje el codigo generado en CLR se puede descompilar, sino quieres que puedan hacer eso puedes usar el .net obfuscator para hacer tu codigo mas ilegible para un descompilador o bien cifrar el contenido de la dll como se suele hacer en software a nivel profesional, para el caso de .net framework se incluyen herramientas para tal fin.
Para descompilar un ejecutable de CLR en codigo CIL el visual studio 2005 incluye una herramienta llamada ildasm ( il disassembler), y en la web se consiguen descompiladores de C# o vb.net etc entre otros.
-
Totalmente falso... en interpretacion.
al igual que cualquier otro lenguaje el codigo generado en CLR se puede descompilar, sino quieres que puedan hacer eso puedes usar el .net obfuscator para hacer tu codigo mas ilegible para un descompilador o bien cifrar el contenido de la dll como se suele hacer en software a nivel profesional, para el caso de .net framework se incluyen herramientas para tal fin.
Para descompilar un ejecutable de CLR en codigo CIL el visual studio 2005 incluye una herramienta llamada ildasm ( il disassembler), y en la web se consiguen descompiladores de C# o vb.net etc entre otros.
Tanto asi como que falso no es, digo se descompila completamente el codigo MSIL, eso es definitivo, el ofuscador incluido en el VS2003 pues parece mas bien un demo del netofuscator y apenas y hace algo por ucultar los nombres de las variables mas sigue pudiendose ver todo el codigo util.
¿Que suguieres como ofuscador?, o alguna buena herramienta efectiva de encriptacion?
el reflector es tan cañon que te descompila el Msil al lenguaje que quieras digo si alguien no gusta de C# lo puede entregar como Visual Basic o por que no hasta C y Delphi
-
el reflector es tan cañon que te descompila el Msil al lenguaje que quieras digo si alguien no gusta de C# lo puede entregar como Visual Basic o por que no hasta C y Delphi
NO, nunca, unicamente puedes descompilar codigo CIL en lenguajes que puedan generar CIL por ejemplo C# o VB.NET, pero C o delphi??? NO tal vez C++.net o delphi.net o a alguna implementación de C++ o de delphi que genere código CLR.
Tal como hay muchos otros des compiladores que te des compilan un ejecutable comun y corriente a c++, pascal etc .
Eso no tiene nada de inseguro, es lo mas normal y relativamente fácil de hacer con cualquier ejecutable generado .
Los ofuscadores son muy utilices pues el solo hecho de alterar los nombres de las variables ya hace mucho mas dificil poder modificar el código y nunca sobra.
No es lo mismo encontrar un array con el nombre:
listaTelefonosEmp
que uno con el nombre
b_007kxR78_ñ
Respecto al cifrado técnicas e implementaciones de terceros deben de haber muchas no solo para ensamblados CLR sino para cualquier otro, pero para el caso particular del CLR de .net se incluye la opción de cifrar el ensamblado creado al compilar para lo cual se genera una 'strong name key', dicha llave se genera con un emisor de llaves que viene incluido con las utilidades del framework, una vez generada la llave se asigna al ensamblado y se compila un ensamblado strong named el cual solo es legible para quien posea la llave con la cual se genero y desde luego el password asociado.
EL Reflector no es algo tan 'cañón' como tu dices porque ya tiene el 70% del trabajo hecho gracias a los componentes que incluye el namespace
System.Reflection