Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Seguridad (https://www.clubdelphi.com/foros/forumdisplay.php?f=36)
-   -   Como crear aplicacion con numero de serie. (https://www.clubdelphi.com/foros/showthread.php?t=89426)

giulichajari 19-11-2015 15:59:20

Como crear aplicacion con numero de serie.
 
Hola amigos.. estoy pensando como hacer para que mi aplicacion contenga un numero de serie.

El tema ya conocido por todos, es asegurar la mayor proteccion posible, porque los seriales viajan de user en user y demas...

Lo que se me viene a la cabeza es:

El serial embebido: el .exe puede contener el serial que se decida y solo funcionara con este serial. De este modo un user puede distribuir el serial en caso de que distribuya el ejecutable junto a este. Y para lo mismo,¿ se necesita compilar el programa una vez por cada serial distinto?

Un servidor: el modo mas seguro pero mas costoso, es tener un servidor, aunque sea pequeño, o una maquina chica en realidad, que cuando se introduce el serial, el mismo se comprueba de la lista que hay en una base de datos obviamente. Una vez que este sea valido se cargara algun dato unico del user, habia pensado en la ip, pero no es muy estable que digamos. Pero se podria suspender la aplicacion a modo de castigo, si se detectan 2 direcciones ip con el mismo numero de serie ya que esto significa que hay mas de una maquina con el mismo programa.

MAXIUM 19-11-2015 17:05:04

Para mi lo más efecto es anclarlo al hardware. Sea al disco duro o unidad externa como un pendrive.

El detalle esta en que el cliente no podrá reinstalarlo en caso de fallo de hardware. Lo que lo hace dependiente del desarrollador, lo que tampoco es malo y hay que especificarlo en el contrato del software.

giulichajari 19-11-2015 17:56:35

Cita:

Empezado por MAXIUM (Mensaje 499595)
Para mi lo más efecto es anclarlo al hardware. Sea al disco duro o unidad externa como un pendrive.

El detalle esta en que el cliente no podrá reinstalarlo en caso de fallo de hardware. Lo que lo hace dependiente del desarrollador, lo que tampoco es malo y hay que especificarlo en el contrato del software.

Y como conoces de antemano, antes de vender el sw el numero del disco.. y si lo haces despues se puede?

MAXIUM 20-11-2015 02:27:54

Cita:

Empezado por giulichajari (Mensaje 499602)
Y como conoces de antemano, antes de vender el sw el numero del disco.. y si lo haces despues se puede?

Puedes vender el software en un pendrive (portable). Cosa que sólo funcione en ese pendrive.

O creas un utilitario portable que recoga la información del hardware, el nombre de la empresa, etc. Que encripte esos datos y los guarde en un archivo.

Luego al momento de arrancar a app por primera vez, que pida la ruta desde donde cargar este archivo, que lo lea, verifique la información contenida y que guarde una copia en el equipo.

Cada vez que arranque, leerá el archivo, desencriptará, y comparara con la del hardware. Si es válido, podrá usar el programa, de lo contrario, no.

Si es válido, además que la app muestre en todas las secciones correspondiente, el nombre de la compañía que adquirió el software.

giulichajari 21-11-2015 17:29:47

Cita:

Empezado por MAXIUM (Mensaje 499632)
Puedes vender el software en un pendrive (portable). Cosa que sólo funcione en ese pendrive.

O creas un utilitario portable que recoga la información del hardware, el nombre de la empresa, etc. Que encripte esos datos y los guarde en un archivo.

Luego al momento de arrancar a app por primera vez, que pida la ruta desde donde cargar este archivo, que lo lea, verifique la información contenida y que guarde una copia en el equipo.

Cada vez que arranque, leerá el archivo, desencriptará, y comparara con la del hardware. Si es válido, podrá usar el programa, de lo contrario, no.

Si es válido, además que la app muestre en todas las secciones correspondiente, el nombre de la compañía que adquirió el software.

pero existen casos reales implementados de esta forma? osea sistemas distribuidos en pendrives?

gatosoft 29-12-2015 21:39:57

yo sabia de software que funcionaba con un pendrive como token... era el caso de una aplicación llamada chessbase.. pero creo que abandonaron este sistema. El programa se instalaba en el PC y solo se ejecutaba cuando se validaba el pendrive. No se como funcionaba.

Por otro lado.. veo que es necesaria alguna forma de autenticación o validación contra un servidor, para garatizar que el serial que hayas dado sea unico.

El tema de amarrarlo al hardware, vuelve al usuario dependiente del desarrollador... es el caso de FaceSDK...que hay que comunicarse directamente con el desarrollador cada vez que se hace un cambio. Personalmente tuve que solicitarle la clave cuando actualice a Windows 8.1 y despues cuando actualicé a Windows 10...

Seria bueno que tu cliente se pudiera mover con su software de una maquina a otra, sencillamente desvinculando el equipo de la clave y eso solo se logra mediante un registro en algún servidor...

saludo,

newtron 30-12-2015 11:12:24

Hola a tod@s.

Yo en particular tengo mi aplicación anclada al hardware del equipo en el que se ejecuta. Cuando se ejecuta por primera vez solicita una clave que al introducirla genera una entrada en el registro del equipo que se chequea cada vez que se ejecuta el programa. Eso está muy bien pero, como bien decís, crea una dependencia con el desarrollador porque cuando se cambia de equipo vuelve a saltar la clave, aunque eso para mi no es problema.

Por otro lado ultimamente estoy viendo programas que hacen algo parecido pero de forma desatendida, es decir, funcionan en base al hardware del equipo pero tiene la posibilidad desde la pagina web del fabricante de quitar y añadir equipos. Por ejemplo, si compras tres licencias te conectas a la web y rellenas tus tres licencias con las claves de cada uno de los equipos que tienes. Si cambias un equipo entras en la web, anulas la licencia correspondiente a ese equipo y la rellenas con la del nuevo. De esa forma puedes manejar ese tema sin que tenga que intervenir el proveedor.

Saludos


La franja horaria es GMT +2. Ahora son las 12:27:11.

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