2011-12-22 20 views
6

Duplicar posible:
How are Software License Keys generated?Cómo proteger mi solicitud contra la piratería

Soy un principiante en Desarrollos de software y me gustaría saber cómo implementar un sistema de protección en mi Java aplicación para protegerlo contra la piratería. Sé que no hay una solución perfecta. Pero solo quiero saber cómo protegerlo. Y no me digas que lo haga de código abierto, es imposible en mi caso :).

Gracias por su tiempo y respuestas.

+1

Su código de Java está compilado, por lo que su fuente está protegida, si desea proteger las versiones copiadas, hay una pregunta similar aquí http://stackoverflow.com/questions/3647255/how-do-i-copy- protect-my-java-application –

+0

@CarlosQuijano Pensé que el código java se compilaba, pero aún es posible descompilar con softwares gratuitos disponibles a través de Internet e incluso un principiante puede ver qué contraseña ha configurado para su conexión DB o cuál es su código real etc. –

Respuesta

8

Como cualquier solución de aplicación de licencia se puede descifrar con un poco de esfuerzo, le sugiero que no intente implementar la protección contra copia en absoluto. La administración de licencias es un inconveniente para sus usuarios.

Si está decidido a implementar la protección contra copia, puede usar una biblioteca de código abierto como TrueLicense.

Además, debe obfuscate su código de bytes para que sea ligeramente más difícil de aplicar ingeniería inversa a su aplicación.

+0

muchas gracias por su respuesta. – Zak001

+0

Eso es solo "significativamente más difícil" en un sentido relativo. Alguien con las habilidades relevantes aún puede probablemente deshabilitar un gancho de administración de licencias ofuscado en unas pocas horas, si no más rápido. –

+0

@StephanC: Por supuesto, pero serían unos minutos si no :) –

1

Consideré esto hace algunos años. Eventualmente decidí no licenciarlo; Lo regalé gratis, pero creo que mi mejor idea fue:

Enviarles un archivo de licencia que contenga una clave. Denomine el archivo con su nombre completo y la dirección de correo electrónico o algo igualmente personal y asegúrese de que cambiar el nombre invalidará la clave. Esto debería ser simple de lograr. Hay muchas técnicas que podría usar que no requerirían almacenar la clave en su aplicación.

Como cualquier sistema, esto no es imposible de descifrar, pero como se me explicó hace muchos años, la seguridad es para mantener honestas a las personas honestas.

+0

Sí, sé que no hay una solución perfecta. – Zak001

+2

Como compartió su idea conmigo, le contaré sobre la mía: 1) Crearé un hash para cada versión. 2) antes de la instalación, la aplicación calculará su propio hash y lo enviará a un servidor que verificará si la (hash, versión) es correcta. Si no es así, la instalación se detendrá y el servidor me enviará un correo electrónico con algunos detalles (dirección IP, dirección MAC y fecha). 3) Ahora bien, si el hash está bien, se iniciará la verificación de la licencia. Si la licencia está bien, la instalación comenzará. Todas estas cosas van a ser encriptadas. Lo sé, no es suficiente. – Zak001

+1

@ Zak001 - eso puede tomar algunas horas para solucionarlo. Pero una vez que se ha realizado la solución, un instalador pirateado simplemente omite el paso de consultar con el servidor y usar una clave previamente recuperada para realizar el descifrado. (Incluso la creación de nuevas claves/hashes para cada descarga no evitará que ...) –

Cuestiones relacionadas