¿Cuáles son las ventajas de ofuscar el código de lanzamiento?

12

El ejemplo específico que tengo en mente involucra al juego alfa actualmente Minecraft, pero esta es una pregunta general que creo que merece cierta conversación.

Minecraft está escrito en Java, y los rastros de pila generalmente se ven así (ejemplo real):

java.lang.NullPointerException
    at d.a(SourceFile:247)
    at gi.b(SourceFile:92)
    at bd.a(SourceFile:33)
    at bn.a(SourceFile:69)
    at bn.e(SourceFile:115)
    at bn.d(SourceFile:103)
    at net.minecraft.client.Minecraft.i(SourceFile:1007)
    at net.minecraft.client.Minecraft.run(SourceFile:596)
    at java.lang.Thread.run(Unknown Source)

Obviamente, estos no son los nombres reales de paquetes y métodos que el desarrollador usa cuando escribe. Dado que se encuentra en una etapa alfa, parece que al desarrollador le gustaría poder darle sentido a las huellas de su pila, especialmente si alguien puede proporcionar una para un informe de error. Tal como está, en su mayoría carece de significado.

¿Qué ventaja podría esperar obtener al ofuscar su código como este que supera los inconvenientes de una identificación de errores más difícil?

    
pregunta StrixVaria 09.11.2010 - 21:44

2 respuestas

22

También ofuscamos nuestro código Java ...

La ventaja es que hace que sea más difícil realizar ingeniería inversa (si le preocupa que alguien le robe su código base y lo use como base para crear un producto similar de la competencia, por ejemplo, etc.).

Puede recuperar el seguimiento de la pila original: existen herramientas de ofuscación que crean archivos de referencia especiales que se pueden usar para ejecutar los seguimientos de la pila ofuscada, y sale con el seguimiento de la pila de origen original. Estos son generados por el propio proceso de ofuscación, por lo que no puede recuperar el rastro de la pila original a menos que tenga las manos en el archivo de referencia que utilizó para ofuscar el código en primer lugar.

Esto no tiene desventajas realmente. :)

    
respondido por el Bobby Tables 09.11.2010 - 21:53
3
  • protegiendo tu propiedad intelectual

La mayoría de los ofuscadores también optimizan su código , eliminan metadatos innecesarios o códigos no utilizados, compresión, eliminación de código muerto o eliminación de duplicados.     

respondido por el user2567 09.11.2010 - 22:19

Lea otras preguntas en las etiquetas