Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-08-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Crear una protección shareware para programa hecho con Lazarus.

Hola a tod@s.

Estoy haciendo un programa en Lazarus y me planteo comercializarlo bajo una licencia shareware; del tipo que permite hacer una prueba con todas las posibilidades del programa durante 30 días de forma gratuita y luego, si se quiere seguir usando el programa con todas sus opciones activas, hay que pagar la licencia.

Desconozco qué es lo que hay que hacer.

El programa está hecho en Windows 10, con Lazarus 2.2.2 .

He hecho algunas búsquedas, sin resultado. He mirado en torry.net , y no he encontrado nada para Lazarus. Para Delphi sí que hay.

¿Alguien podría decirme dónde puedo encontrar información adecuada para ello o algún componente que lo permita?.

De antemano, muchas gracias.

Última edición por rrf fecha: 13-08-2022 a las 23:16:58. Razón: añadir información
Responder Con Cita
  #2  
Antiguo 14-08-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Se me ocurren montones de formas de control, aunque elegir una depende mucho de hasta qué punto quieras controlar el uso de tu programa.
Quiero decir que a lo mejor no es tan necesario un control muy riguroso salvo que esperes muchísimos potenciales usuarios, y también habría que decidir si un mes es un tiempo lógico de prueba.
Puedes simplemente guardar la fecha de instalación en algún lugar y luego cada vez que se inicia el programa controlas si desde esa fecha han pasado los 30 días de prueba.
Si quieres "mucho" control puedes pensar que es posible que encuentren dónde está guardada esa fecha y la modifiquen manualmente, por ejemplo, pero aquí es donde empieza el gran bucle que nunca se acaba: tú controlas que no cambien esa fecha y el usuario encuentra la forma de cambiarla, tú guardas esa fecha cifrada y el usuario encuentra que eliminando el fichero puede saltarse la protección, tú controlas que no lo borren y el usuario cambia la fecha del ordenador cuando va a iniciar tu programa, tú controla que no hayan cambiado la fecha del ordenador y el usuario... y así hasta el infinito.
Puedes guardar un registro en la "nube" de algún dato del equipo del usuario junto la fecha de instalación, y cada vez que inicia el programa se comprueba ese registro en la "nube". Pero el usuario puede decidir desactivar su conexión a internet cuando vaya a usar tu programa, etc. etc. etc.
Por eso lo principal es ponerse un límite de hasta qué punto es tan necesario ese control y qué tan efectivo debe ser, dependiendo de tus objetivos, de a quién va destinado el programa, etc. etc. etc.
Responder Con Cita
  #3  
Antiguo 14-08-2022
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Aquí mis dos centavos. Hace años que he venido utilizando lo descrito en este artículo de brandonstaggs.com, que, aunque parece un tanto antiguo, aún hoy día se sigue usando incluso con Delphi FMX. El artículo en cuestión proporciona un código base, pero, también ciertas ideas, que, probablemente, funcionen también en Lazarus.

Adicionalmente, tal vez pudieras encontrar algún software comercial que funcione en tanto en Delphi como en Lazarus. Otra posible opción acaso sean los componentes OnGuard, que, parecen estar disponibles también para Lazarus.

No obstante, con el suficiente interés, probablemente ninguno de estos sistemas puedan ofrecer una "protección al 100%", sobre todo por lo que comentas "[...] del tipo que permite hacer una prueba con todas las posibilidades del programa durante 30 días de forma gratuita [...]".

Personalmente, a mí me gusta esa filosofía, es decir, dejarle al posible cliente probar el programa con todas sus características, incluso sin límite de tiempo, pero, esto implica un problema irresoluble o difícil de solucionar (en mi conocimiento): puesto que lo que se descarga es el programa "completo", si se consigue "crackear", lo que se obtendrá será el programa completo también.

A mí me parece que la única forma de conseguir que nadie consiga "crackear" un programa completo es no ofrecer un programa completo. Es decir, no se trataría tanto de limitar nuestro programa con "nag screens" o con determinadas opciones deshabilitadas (pero cuyo código está ahí, una vez se consiguiesen habilitar las opciones), sino que se trata de ofrecer un programa que realmente no esté completo.

De este modo, si un "cracker" consigue saltarse las posibles limitaciones del programa, lo que no podrá hacer es "completar el programa". Algo así posiblemente pone las cosas más complicadas a los posibles clientes legítimos: porque no les estamos dejando probar el programa completo, y, sin embargo, como digo, es posiblemente la única forma de evitar que nuestro programa sea "crackeado" completamente.

Por lo tanto, siguiendo este razonamiento, los únicos que deberían obtener el programa completo deberían ser nuestros clientes legítimos. ¿Podrían estos clientes "subir" nuestro programa completo y que otros usuarios lo usasen? Podrían, desde luego. Hay cierta relación de confianza que acaso deba primar aquí, o, en todo caso, tal vez el programa completo también debería ser "licenciado" de alguna manera, a un cliente en particular, haciendo complicada su copia, pero, aquí estaríamos en lo de antes: si un programa está completo, se podrá "crackear", si hay suficiente interés, y, una vez hecho, lo que se obtiene es dicho programa completo.

Para terminar, yo sigo creyendo que nuestra preocupación debería ser al 100% o muy cercano a esta cifra cara a nuestros clientes legítimos. Está bien considerar estas opciones "anticopia" pero tampoco que esto implique ponérselo complicado a los posibles clientes legítimos. Hay muchas implicaciones en todo esto, por ejemplo, otra de mis "filosofías" es permitir a mis clientes que registren el programa sin límite de ordenadores: siempre y cuando se trate de sus ordenadores, esto es, no licencio mi software para ordenadores en particular, sino para clientes en particular: es lo que me gustaría que me ofreciesen a mí y es lo que yo ofrezco.

Quiero insistir por último en que acaso la única forma de protección 100% efectiva (no para clientes legítimos, que, probablemente no tengan los conocimientos suficientes como para "crackear" el programa) es no distribuir programas completos, sino, incompletos, de modo que, si llegan a ser "crackeados", realmente no tenga mucho sentido, pues, estarían "crackeando" sólo una parte del programa, por decirlo así, y, esto probablemente haga perder todo el interés en su "crackeo". En definitiva, la versión completa de nuestro programa sólo debería llegar a nuestros clientes legítimos y nunca ser la que cualquiera puede descargarse de nuestro sitio web.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 14-08-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Muchísimas gracias, David.

Me has ofrecido lo que estaba buscando: pistas para encontrar la información.

Aún no he visto los enlaces que incluyes, aunque me pondré con ello en breve.

Por mi parte, a nivel personal, no aspiro a tener una protección 100% efectiva.

Creo que basta con que el grupo de usuarios con conocimiento medios tenga dificultad para hacer una copia del programa no autorizada. Con eso me basta.

Y asumo de que habrán casos en los que se copiará mi programa sin autorización; aunque espero que sea por parte de un grupo minoritario de usuarios.

Un saludo y muchas gracias de nuevo.
Responder Con Cita
  #5  
Antiguo 14-08-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Smile

Desde el correo electrónico que me llegó, fuí redirigido directamente al mensaje de David, y no leí el de Casimiro.

Lo acabo de leer ahora y creo que he contestado en el mensaje anterior a su comentario acerca del nivel de protección al que aspiro: que mi protección ideal está dirigida a los usuarios con conocimientos medios.

Casimiro, las sugerencias que haces me han aportado posibilidades acerca de como implementar una protección básica, que podría hacer yo mismo.

Lo que posiblemente cumpliría de forma completa o casi completa, con mis aspiraciones.

Me ha gustado esa idea que aportas de guardar la fecha en el primer arranque del programa y usarla como referencia en el control del tiempo.

Muchísimas gracias.
Responder Con Cita
  #6  
Antiguo 14-08-2022
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
El OnGuard citado por [dec] lo tienes instalable desde los repositorios en el propio Lazarus.

Responder Con Cita
  #7  
Antiguo 14-08-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Muchas gracias Casimiro.

No sabía que Lazarus tiene el servicio Online Package Manager. Le he dado un vistazo a lo que ofrece Online Package Manager y hay muchas cosas interesantes.

He instalado OnGuard, que crea una pestaña nueva con varios componentes y espero probarlo en esta semana.

Me ha sorprendido la precisión en la ayuda que me han dado los dos: Casimiro y David.

Muchas gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Delphi 7 Crear programa para crear conexión BDE Rockardo777 Varios 10 31-08-2017 11:45:31
aplicación lazarus hecho en virtual box no funciona en ubuntu kapcomx Lazarus, FreePascal, Kylix, etc. 20 08-03-2016 23:30:24
Lazarus para un programa muti lataforma?? aitorqrv Lazarus, FreePascal, Kylix, etc. 2 02-08-2011 21:00:36
Ejecutar un programa hecho en turbo c++ eljose C++ Builder 2 06-09-2007 19:36:05
Ejecutar mi programa hecho en Lazarus sobre Linux mr_pascale Lazarus, FreePascal, Kylix, etc. 9 11-08-2007 18:54:25


La franja horaria es GMT +2. Ahora son las 18:01:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi