Hola José María. Un abrazo muy fuerte.
Mira, cuando empecé a intentar proteger mis programas, lo primero que hice fue precisamente poner una fecha de caducidad que guardaba en un fichero oculto en windows\system y que podía modificar mediante un código que pedía el programa cuando pasaba la fecha. Con una demo puse la fecha de finalización en el propio codigo y cuando pasó la fecha dejóde funcionar el programa imitando un mensaje de error de windows porque no quería, en ese caso especifico, que dijese que había caducado. Y un 'programador amigo' les dijo que cambiasen la fecha del ordenador.
Conclusión llevan 18 meses con la fecha cambiada a 2003 y el programa funcionando.
No me importa mucho porque en cuanto cambien el sistema operativo (cosa que sé que van a hacer ahora) o el disco duro el programa dejará de funcionar por el otro sistema de seguridad de copias del programa.
Pero de esto aprendí que no se pueden hacer chapuzas y que la mejor manera de hacer un sistema de protección es pulirlo pensando como romperlo (aún así sigo creyendo que las mochilas son ideales) y hacer coincidir varios sistemas con alguna que otra 'trampa'.
Gracias a este caso añadí dos cosas al mi sistema de seguridad:
Guardo la última fecha de acceso a la aplicación y no dejo que se ejecute si la fecha actual es inferior al último acceso. Y, por si acaso, no dejo dar de alta registros (en algunas tablas) si la fecha de creación mas alta es superior a la fecha actual.
Muchos saludos
Hasta otra
José Antonio |