Pregunta

He desarrollado un pequeño software. Quiero dar y ejecutarlo en el comercio solamente. Quiero que se puede ejecutar en las máquinas que han comprado de mí.

Si alguien copia de mi computadora de los clientes y lo ejecuta en el próximo equipo, me gustaría dejar de funcionar / ejecutar el software.

¿Qué puede ser las formas de prevenir la piratería de software?

¿Fue útil?

Solución

Adaptación de una de mis respuestas anteriores:

Hay varias formas de "activar" copiado de software para tratar de detener la copia informal de la aplicación.

En el caso más simple, un código de registro ( "clave de CD") comprado a usted, posiblemente a través de su sitio web, y se envía al usuario que entra en el programa o el instalador. Todo el proceso, básicamente, se puede hacer fuera de línea; el propio programa determina localmente que el código es válido o no válido.

Esto es agradable y fácil, pero es extremadamente vulnerable a compartir clave - ya que no hay "llamadas a casa", entonces la aplicación no puede saber que miles de personas diferentes están todos con la misma clave que se bajaron del Internet o una biblioteca de serie o su amigo. También es razonablemente fácil de hacer "keygen" que generan las claves de apariencia válidos que nunca fueron realmente emitidos por los desarrolladores.

A continuación, entrar en el registro en línea. Todavía tiene algún tipo de código, pero la vuelta a casa de teléfono voluntad programa al servidor para determinar si el código es válido y por lo general único. Esto detiene el intercambio de clave básica, debido a que la empresa sabe si mucha gente de todo el mundo están utilizando la misma clave. Tal vez hay algún tipo de identificación implicó el uso de direcciones MAC, también, con infinitos registros permitidos en el mismo hardware, pero tal vez un número limitado de lo que parece ser un equipo diferente.

Esto es todavía bastante fácil y se detiene compartido simple llave. La gente realmente tendrán que entrar en descifrar el software o falsificar la respuesta del servidor a superarlo.

A veces, el programa en sí es parcialmente / mayormente encriptada y sólo se descifra mediante la etapa de registro en línea. Dependiendo de lo bien que se ofusca, entonces puede ser muy difícil y requiere mucho tiempo para agrietarse. Bioshock fue un ejemplo de alto perfil de este - que debuta con un nuevo cifrado / esquema de protección de copia que se llevó alrededor de dos semanas a partir de su liberación al ser roto

.

Por último, una aplicación particularmente vigilado podría permanecer en contacto constante con el servidor, negarse a trabajar en absoluto si se corta la conexión.

Si usted estar seguro de que todos los usuarios tendrán todos las conexiones a Internet fiable a continuación, se puede considerar una forma bastante fuerte para proteger la aplicación, a costa de la privacidad y algo de desconfianza usuario del software espía.

En este caso, para moverse por la activación que necesitarían para falsificar el propio servidor. emuladores de vapor y servidores privados de WoW son un ejemplo de esto. Y al final, nada es indescifrable.

Otros consejos

En pocas palabras:. No se puede

A pesar de sistemas muy sofisticated (teclas ejemplo dongle) pueden eludirse. Creo que lo mejor es llamada a dar un código a sus clientes y tienen un cheque en línea para ese código, de modo que no se puede utilizar dos veces.

Por supuesto, esto se puede evitar también, pero ...

Como dijo nico que realmente no puede.

Una solución simple podría ser generar (registro / activación) los códigos que están basados ??en hardware o software instalado en el ordenador en particular - por ejemplo, ID de serie tarjeta de vídeo o c:. / Ventanas hora de creación

Tengo una idea puede ser funciona. Lo que podemos hacer, haremos un campo de base de datos encorrupted y ese campo estará vacío por primera vez tan pronto como se instala el software en una máquina leerá la dirección Mac + Placa madre Serial + Procesador Identificación y crea un valor encorrupted con la combinación de estos tres y escribir en ese campo a la que me dejó vacía para el primer uso.

Después de que cada vez que mi aplicación leerá estos tres valores y volver a crear el valor encrupptted de la misma manera y comparar con el valor de ese campo de base de datos. Si el valor del campo de base de datos y el valor del campo encrroupted regenerada es igual, eso significa que el equipo es el mismo de otra forma que está instalado en alguna otra máquina, en este caso se elimina todo el código y puede hacer que el sistema inestable de castigar al persona también :) ... Por favor, hágamelo saber sobre su opinión acerca de esta idea.

La mejor forma de hacerlo es utilizar algún tipo de hardware de bloqueo en la que el código de licencia contiene información acerca de la máquina en la que se ejecutará encriptada. Su software comprobará entonces por esta información y hacerla coincidir con el equipo actual y si el partido tiene éxito, la licencia se considerará válida.

Por supuesto, cualquier esquema puede ser violada por una persona en la faz de la tierra, pero eso no quiere decir que usted no debe usar un esquema de protección.

Si usted está buscando un esquema ya preparado para esto, echar un vistazo a CryptoLicensing .

Las empresas como la nuestra (Wibu-Systems), Safe-Net, e Flexera soluciones libres de dongle (caro) de la oferta, así como los basados ??en hardware. Pero _simon era justo en un dispositivo de seguridad que es la única protección acorazada. Todos los sistemas basados ??en software pueden ser roto; es sólo que algunos son más difíciles que otras. Muy buenas soluciones basadas en hardware son efectivamente indescifrable. sin embargo, nadie ha descifrado el CodeMeter stick a menos que la aplicación era defectuoso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top