On Fri, May 05, 2006 at 10:50:50AM +0200, Pablo Braulio wrote: > Para los expertos, ¿existen descompiladores?, ¿es posible > descompilar?, Existen descompiladores. Y siempre es posible leer el código máquina tal cual. Pero el código que te producen no se parece al código original que escribió el programador por que: - Se pierden los comentarios - Muy frecuentemente se pierden los nombres de variables y funciones - Todo compilador que sirva en la práctica es un compilador optimizador. Es significa que va a alterar el algoritmo, sacar cosas de los bucles, eliminar operaciones intermedias, integrar en linea llamadas a funciones cortas, etc, etc. - Al compilar estás pasando a un lenguaje de bajo nivel. Dicho lenguaje tiene explícitos muchos detalles que el lenguaje de alto nivel esconde (como el orden de los bytes de un entero, por poner un ejemplo bobo). El decompilador no necesariamente va a saber cuales de esos detalles los puso el progamador y cuales el compilador. De todas formas, hay trabajo muy interesante y exitoso en lograr decompilar código que viene de un lenguaje fuente conocido. Pero eso nos lleva a una pregunta que no hiciste: ¿Sirve descompilar? Y la respuesta es no. Por que, a fin de cuentas, en el SW libre queremos el código no tanto para verlo, sino para modificarlo cuando no nos sirve. Imagina que decompilas MSWord :-) y lo modificas para que deje de sacar el mugroso clip ese. 3 meses después llega el parche de seguridad que evita que borren tu disco duro enviandote una cartita. Obviamente lo aplicas. Y quieres aplicar también tu parche quita-clip. Vuelves a decompilar y resulta que, como la dirección de unas funciones cambió, el código decompilado es completamente diferente, así que tienes que volver a hacer todo el trabajo. Eso sin mencionar que: - La mayoría de las licencias propietarias prohiben explícitamente decompilar. - Aún sin esa restricción, el código que obtengas de decompilar no es distribuible, así que no le sirve a nadie más que a tí. - El conocimiento que obtuvieras de ver ese código no es utilizable. Si alguin decompila MSWord, averigua como le hacen para poner hormiguitas de colores alrededor de una palabra, y luego va e implementa eso para OOo, MS podría demandar exitosamente a (ese desarrollador de) OOo por violación de derecho de autor. > ¿existen el ratoncito pérez?. XDD Eso sí quien sabe :-) -- Rodrigo Gallardo PGP Key ID: ADC9BC28 Fingerprint: 7C81 E60C 442E 8FBC D975 2F49 0199 8318 ADC9 BC28 http://www.nul-unu.com http://www.nul-unu.com/blogs/elucubrando
Attachment:
signature.asc
Description: Digital signature