Cree una aplicación que caduque después de un período de prueba [duplicado]

StackOverflow https://stackoverflow.com/questions/1417848

  •  07-07-2019
  •  | 
  •  
¿Fue útil?

Solución

Si opta por un enfoque basado en la fecha, el usuario puede eludirlo estableciendo su fecha de regreso (aunque dudo que la gente lo haga con mucha frecuencia). Una alternativa es permitir que la aplicación se inicie un cierto número de veces antes de que caduque; este enfoque obviamente ignora cualquier cambio de fecha.

Mi método preferido es deshabilitar partes de la aplicación que son críticas para el uso normal del programa pero que no lo son para su evaluación (como la capacidad de guardar su trabajo, por ejemplo). Hago esto con mi propio software y luego les envío un código de desbloqueo exclusivo de su computadora cuando compran el programa completo. Una ventaja principal de este enfoque es que la demostración instalada funciona como una herramienta de ventas potencial para siempre . Prefiero que mi programa siempre funcione hasta cierto punto; No creo que un " Lo siento, este programa ha expirado " mensaje genera muchas ventas.

Otros consejos

Sus opciones:

  1. En la instalación, escriba algo en el registro, de modo que sea difícil de encontrar y eliminar más tarde. De esta manera, su aplicación sabrá cuándo se instaló originalmente y si aún debería funcionar en este momento o detenerse. Este método fallará si el registro se limpia bien o si se reinstala el sistema operativo.

  2. Utilice algún tipo de servicio de validación en línea. Estará libre de las desventajas de la [1]. También le permitirá monitorear la actividad de la aplicación trascendiendo la instalación del sistema operativo. Para que eso funcione, de alguna manera deberá identificar de manera única una PC de usuario y transmitir su firma a su servidor.

Aquí está el truco que hice para evitar que los usuarios jueguen con la configuración de fecha / hora y retrocedan en el tiempo.

Cuando la aplicación se ejecute por primera vez, cifre la fecha de la primera ejecución y la fecha de finalización de la prueba y la última fecha de ejecución en el registro. Y descifre y verifique la fecha de finalización de la prueba y no la fecha del sistema a partir de ahí cada vez que se ejecute la aplicación. Esta solución funciona para usuarios sin conexión a Internet.

Escriba una clave de registro durante su instalación. La clave contendrá la fecha de la instalación. La fecha en la clave de registro debe estar encriptada.

Cuando se inicia su aplicación, verifique la existencia de esta clave de registro. Si no existe, cierre la aplicación o descifre la fecha, verifique el período de prueba y cierre la aplicación si la prueba ha terminado.

La solución más simple (y como resultado la más simple de evitar) es almacenar la fecha en que el programa se instaló (o ejecutar) por primera vez en un archivo y luego verificarlo con la fecha actual cada vez que se inicia el programa. Si la diferencia es > 30 días y luego salga del programa.

Al almacenar la fecha en lugares más oscuros o lugares que son más difíciles de manipular para el usuario (como el registro), se vuelve progresivamente más difícil para eludir el sistema y obtener más tiempo para usarlo, pero no no los detenga rebobinando el reloj en su PC.

Si almacena la fecha en su servidor y también obtiene la fecha de su servidor, entonces esto es más seguro, pero significa que el usuario debe tener una conexión a Internet abierta para usar su software.

scroll top