2009/9/30 Nacho Facello <[email protected]>: >> Asi tambien, alguien puede hacer ingenieria reversa y obtener del >> bytecode un AST y de este generar codigo fuente.
El tema es que Ruby, aún compilado, necesita en runtime mucha información acerca del código -- mucha más que por ejemplo C++ y Java (el primero es obvio -- de Java pueden corregirme, no conozco las implementaciones de 1.9 ni Rubinius). El bytecode termina reflejando muy de cerca al código fuente (si no me equivoco, además, todas las optimizaciones que pueden destrozar eso se aplican en la compilación a binario -- JIT/AOT). > Pero si en lugar de bytecode tenés el código encriptado o lo que sea, > es todavía más fácil -- el código para ejecutarse se tiene que > desencriptar. No hay vuelta a eso. Vamos a reinventar DRM -- ¡y esta vez va a andar! Nota: leer a Doctorow[1] para entender lo que dijo Nacho... > Y si tenés algo que lo desencripta > para ejecutarlo, es posible siempre modificar esa herramienta para que > en lugar de ejecutar escupa el código desencriptado a un archivo. > No hay mucha vuelta a eso -- incluso si lograras generar un ejecutable > binario en un formato nativo (ponele un exe en windows, por decir > algo), siempre es posible modificar eso y redistribuirlo. Lo máximo > que lográs es complicarla un poco; pero si el objetivo es que sea > imposible, olvidate, no se puede. Si el hardware restringe acceso al usuario, sí. ¿Alguien dijo Trustworthy Computing? (alto eufemismo) Saludos, -- nachokb [1] http://craphound.com/CanadianCopyrightConsultation.html (punto 2), la parte "Now, let's apply this to DRM" _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
