Ver Mensaje Individual
  #13 (permalink)  
Antiguo 02/03/2012, 10:03
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 2 meses
Puntos: 454
Respuesta: Como se hace para asegurar tu código java

Hola:

Sí, es más seguro si tu insertas manualmente la mac encriptada en la base de datos y el programa solo lo comprueba y no hace el insert.

El ofuscador es otro tema (el título que pusiste al post no tiene que ver con el contenido). Si tu coges un programa java compilado (un .jar, un .class), existend descompiladores capaces de sacar los fuentes .java. El ofuscador sirve para hacer que esos fuentes sean más dificiles de entender.

Por ejemplo, si tu clase se llama Persona y tiene un método setNombre(), si alguien descompila el programa y ve Persona.setNombre() puede intuir para que sirve eso. Sin embargo, si una vez compilado pasas un ofuscador, el ofuscador se encarga de cambiar esos nombres, así Persona se convierte en a y setNombre() en b. Al descompilar el programa y obtener los fuentes, se vería a.b() que dice más bien poco.

Así que en realidad son dos temas distintos:
1) Cómo evitar que ejecuten tu programa en otro PC.
2) Cómo evitar que alguien descompile el programa y obtenga los fuentes.

Obviamente, el ofuscado ayuda al primer punto, ya que si alguien descompila el programa y los fuentes no están ofuscados, podría ver que estás obteniendo la mac, encriptándola en md5 por ejemplo, y comparándola con lo que hay en base de datos. Esto dejaría claro qué hay que hacer para ejecutar el programa en otro PC.

Como ves, puedes hacer pequeñas cosas para evitar pirateo y existen formas de saltárselo, pero cuantas más cosas hagas para evitarlo, más difícil será piratearlo y menos personas serán capaces de hacerlo. Es cuestión de qué esfuerzo estás dispuesto a realizar, qué riesgos reales hay de que pirateen tu programa, que daño te hacen si consiguen piratearlo, etc. Si el programa es para tu vecino que no sabe de informática, posiblemente sobre con la primera propuesta (dirección mac e insert en bd la primera vez). Si vas a hacer un programa con intención de comercializarlo en serio, pues tienes que poner bastantes más medidas de seguridad y aun así siempre habrá alguno capaz de saltársela.

En fin, todo un mundo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 02/03/2012 a las 10:10