Hay mucha información que puede adquirir sobre el hardware de la computadora en la que se ejecuta su programa, incluidos los números de serie de piezas individuales de hardware (consulte stackoverflow para ejemplos de código). Esto le da una huella digital bastante precisa del sistema.
Si tiene su software "teléfono en casa" contactando a su servidor al inicio, puede enviarle esa huella digital para decirle en qué máquina se ejecuta. Si recibe muchas más huellas dactilares de las que vendió licencias, entonces algo está mal.
Sin embargo, esto no te dirá de quién obtuvo la copia el pirata. Puede descubrirlo distribuyendo solo copias personalizadas de su software: incluya un número de serie en cada copia que venda. Envíe la serie al servidor junto con la huella digital del hardware. Cuando su servidor recibe el mismo número de serie con una huella digital de hardware diferente, usted sabe cuál de sus clientes lo piratearon y puede emprender acciones legales.
Pero hay, por supuesto, contramedidas que los piratas podrían tomar:
- Encuentre el número de serie en su software y cámbielo para ocultar la fuente
- Use un firewall personal para bloquear la función de inicio de llamadas
- Cuando el software no se ejecute sin llamar por teléfono a su casa, descifre el software para suprimir la función de llamada por teléfono a casa
- Rompe la función de inicio de llamadas para enviar huellas digitales de hardware falsas
Lamentablemente no hay mucho que puedas hacer al respecto. Una vez que su software está en el hardware que no controla, ya no es su software.
La industria del software está tratando de desarrollar una protección de copia basada en software desde la invención del disquete. Hasta el momento, no han logrado crear una solución que soportara serios intentos de craqueo por parte de la comunidad pirata, a pesar de invertir millones de dólares y usar algunos métodos éticamente cuestionables (como modificar el sistema operativo de los usuarios).
También soy un desarrollador de software y me he dado cuenta de que en realidad solo hay dos formas de ganar dinero con el software para el consumidor:
Método 1: vincule su software estrechamente a un servicio en línea basado en suscripción. Considere el servicio de su producto real y el software cliente como una herramienta gratuita para usarlo.
Método 2: Simplemente acepta que solo las personas que realmente quieran pagar por tu software pagarán por él y el resto del mundo lo pirateará.