Club Delphi  
    Paypal   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 Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-08-2022
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
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
  #2  
Antiguo 14-08-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 24
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
  #3  
Antiguo 14-08-2022
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 24
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
  #4  
Antiguo 14-08-2022
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.705
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
El OnGuard citado por [dec] lo tienes instalable desde los repositorios en el propio Lazarus.

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: 24
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
  #6  
Antiguo 14-08-2022
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.145
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola a todos,

Cita:
Empezado por rrf Ver Mensaje
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.
¡No hay de qué!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 15-08-2022
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.211
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Es un tema, que como comentáis, siempre depende de hasta que punto uno se quiera complicar la vida para complicársela al cracker. Hace ya muchos años, en los comienzos de los PC, había aplicaciones en diskette que se distribuían encriptadas y se desencriptaban al ejecutarse, necesitando arrancar el PC desde ese disco. De esta forma nunca se tenía el código final leyendo el diskette.

Basado en la encriptación del ejecutable para evitar el análisis del desensamblado del mismo escribí un tutorial, a modo de prueba de concepto, que se basó en encriptar el código compilado de una función vital para el funcionamiento de la aplicación a proteger. El tutorial comienza con un encriptado sencillo que en sucesivas fases de complicación termina convirtiendo la función en un shellcode encriptado. Solo la ejecución de la app y el conocimiento de la clave se desencriptación conseguirían hacer funcionar de forma correcta el programa. Por si es de interés y/o curiosidad os dejo el enlace: Encriptando funciones.


Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 05:07:53.


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