Pregunta

Tengo un software de prueba que deseo distribuir a los clientes. Quiero que el software basado en prueba deje de funcionar 30 días después de la instalación.

Una simple comprobación de la fecha del sistema en el software es la forma más sencilla de lograrlo, pero ¿no podría un cliente eludir fácilmente esta protección cambiando la fecha / hora de su sistema en Windows?

¿Hay una mejor manera de lograr lo que quiero?

¿Fue útil?

Solución

La mejor opción es no advertirles, y después de 30 días (asegúrese de verificar en ambos sentidos, de lo contrario pueden configurar el reloj en el futuro, instalar su aplicación y restablecer el reloj a hoy) también deja de funcionar. bloquear la aplicación una vez que el período de seguimiento haya expirado, por lo que incluso si luego reinician el reloj, aún debería estar bloqueado

Otros consejos

Verificaría la hora modificada del archivo modificado más recientemente (probablemente hay algunas rutas comunes que se actualizan con frecuencia, pero podría buscar en el sistema de archivos).

Además, puede disminuir el "tiempo restante" (almacenado en alguna ubicación secreta) por la cantidad de tiempo que la aplicación estuvo ejecutándose para su sesión. Cuando llega a 0, están listos. También puede detectar que el reloj retrocedió desde el último valor visto en cualquier sesión, y penalizarlos eliminando, por ejemplo, un día entero.

¿Quiénes son sus clientes? Si es para el público en general, y es un público bastante reducido, creo que puede seguir con el enfoque basado en el tiempo. Estoy de acuerdo en que los usuarios se cansarán de ajustar el reloj de su sistema y simplemente comprarán su software. Pero si es una pieza de software muy popular o si está dirigida a desarrolladores , entonces sí, probablemente debería reforzar la protección de prueba porque se descifrará con bastante rapidez.

Sí, pueden manipular el reloj del sistema. Pero gradualmente se vuelve más y más inconveniente hacerlo a medida que avanza más allá de la fecha de finalización del período de prueba. Dejarán de usar su software antes de jugar con el reloj.

O, lo que es más probable, piratearán su esquema de protección, por lo que les dará un tiempo indefinido para usarlo.

Sugeriría que su software vuelva a llamar a su servidor periódicamente; el usuario puede jugar con el reloj del sistema todo lo que quiera, pero usted controla el reloj en su servidor. Si el servidor sabe cuándo se emitió la licencia, puede responder adecuadamente a una solicitud del cliente, independientemente del estado del reloj del cliente.

Descargo de responsabilidad & amp; plug: la compañía que cofundé produce la solución de licencia OffByZero Cobalt . Es una solución llave en mano para la protección de software, & amp; maneja específicamente el tipo de escenario de tiempo limitado que menciona.

Como se señaló, las licencias basadas en el tiempo son bastante fáciles de manejar. Puede saltar algunos aros para evitar que las personas reinicien su reloj del sistema. Puede contactar a un servidor de hora certificado y configurar su reloj interno de esa manera, pero no sería necesario que un científico de cohetes lo descifrara si pueden acceder a su código. Una manera fácil es encontrar la verificación de tiempo en la lista de asm y ramificar a su alrededor.

Hemos trabajado en esto durante años (divulgación: trabajo para una compañía de protección de copia (www.wibu.us)) y uso una combinación de un reloj interno en un chip de tarjeta inteligente y servidores de hora certificados, además de algunos códigos para asegurarse de que nunca puede volver a configurar el tiempo (el código siempre está encriptado, por lo que no es parcheable). También tenemos una solución solo de software que usa un reloj interno pero no en un chip de tarjeta inteligente. Hay inconvenientes en todas las medidas de seguridad; encontrar el equilibrio correcto para su mercado, precio, etc. es el truco.

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