lunes, agosto 27, 2007 at 12:30AM
En el blog plentyofcode.com han publicado un excelente recopilatorio de ofuscadores y decompiladores para Java. Un decompilador permite obtener el código fuente de un programa a partir de los archivos .class o .jar; en Java es posible obtener los nombres originales de las clases, métodos, atributos... por lo que se recupera un código idéntico al original pero sin comentarios.
Un ofuscador modifica el código fuente para dar nombres cortos, sin significado y sin seguir los convenios de nomenclatura de Java a las clases, métodos, atributos, etc. de tal modo que si alguien decompila el código le será bastante más complicado entender lo que hace. Otro beneficio de los ofuscadores es que disminuyen el tamaño de los archivos. class que generan.
Yo nunca he usado ofuscadores, pero sí use decompiladores hace varios años. Por aquel entonces funcionaban excelentemente y había una gran cantidad. Hace poco volví a necesitar uno y me he encontrado con que la situación ha cambiado bastante. Sigue habiendo muchos, pero básicamente son los mismos que había en el 2002-2003 y no avanzado prácticamente nada: no ha sido capaz de encontrar ninguno libre o gratuito con soporte para Java 5 y muchos tan siquiera tienen soporte completo para Java 1.4. No sé por que, pero estas herramientas se han quedado un poco rezagadas en los últimos 3-4 años.
¿Vosotros habéis empleado de compiladores o ofuscadores? ¿Qué tal vuestra experiencia con ellos?