2008-09-29 27 views
17

Esto es a lo largo de líneas similares a estas últimas preguntas:Ofuscación de Java - ProGuard/yGuard/other?

Best Java Obfuscation Application For Size Reduction Creating non-reverse-engineerable Java programs

Sin embargo, uno termina recomendando yGuard y el otro ProGuard pero tampoco mención ambos. Me pregunto si podríamos obtener una comparación de cada uno y escuchar las experiencias de las personas de ambos lados de la valla. Mirando esto comparison chart en el sitio web de ProGuard, está claramente orientado hacia ProGuard. Pero, ¿qué pasa con la experiencia del mundo real de cada uno? ¿Cuál produce una producción más pequeña? cuál es más difícil de descompilar? ¿Qué versiones de Java son compatibles con cada uno?

Personalmente estoy particularmente interesado desde el punto de vista de J2ME, pero no limite la discusión a eso.

+6

Quien escribió las clases en JDK 1.0 hace un buen trabajo de ofuscación, tal vez puede contratarlos. – skaffman

+0

¿Serían esos los que documentaron las API de J2ME? – roryf

+0

No sé cuál es mejor. Publiqué una de esas preguntas (la que dice que Proguard es mejor) con la esperanza de que funcione ese tipo de diálogo, pero nunca llegó a ningún lado. – Fostah

Respuesta

5

Proguard es un producto mejor; especialmente si te tomas el tiempo para revisar la configuración de J2ME.

Específicamente para J2ME no es un producto mucho mejor (comercial) llamado mBooster

He estado recibiendo una mejora en torno al 25% en el tamaño de mi solicitud después de su estado a través Proguard. Esto se debe principalmente a la mejor compresión Zip en el archivo Jar y al soporte integral para la combinación de clase y la verificación previa.

+0

Así como una nota: proguard no tiene nada que ver con la compresión zip: P – JaanusSiim

0

Mi opinión es - ProGuard es mejor. La salida es más pequeña un poco. La optimización es mejor y mucho más rápida.

Descompilar es simple en ambos casos. Bueno, quiero decir, si conoces bien Java y conoce la lógica comercial de lo que estás descompilando, no hay problema para volver a obtener las fuentes de las clases ofuscadas.

Por lo tanto, mi opinión es ProGuard es mejor.

+1

Para el desarrollo de Android diría ProGuard. – slott

6

Resultados para mi proyecto.

  • Ofuscación - both fine.
  • Optimización - ProGuard produjo un código 20% más rápido (para el cuello de botella de la aplicación medida).
  • Compacto - ProGuard aproximadamente 5% más pequeño.
  • Configuración/Ant - YGuard es mucho más fácil de configurar.

Así que aconsejaría ProGuard, pero la configuración y la integración de hormigas definitivamente podrían mejorarse.