Distribuir una apicación con cierta seguridad

Quisiera distribuir mi primera aplicación, poniéndole un poco de seguridad para evitar que el cliente pueda instalarla en más de un equipo o lo copie. Se que nada es infalible, solo que les cueste trabajo. ¿Cómo hago ésto? Acepto sugerencias.

1 Respuesta

Respuesta
1
Distribuir una aplicación y esperar que no te la copien es algo imposible, si quieres que tu aplicación se ejecute en una maquina sola, o vos determinar en que maquina va a funcionar, tienes que utilizar el método de registro.
Te doy un ejemplo:
Entregas tu aplicación, la primera vez que se ejecuta, luego de ser instalada, le muestra al usuario un numero de registro, el usuario te envía ese numero de registro con sus datos presonales, y vos si es un usuario reconocido (si pago el software), le envías el archivo llave. De esa manera el programa funciona.
El truco esta en que el numero de registro que te envía el cliente lo determinas por el numero de serie de la maquian en la que quieren instalar el software, esto lo ves con una función simple por API:
Declara esto en un modulo
Public Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Public Function PROTECCION()
Dim R, N, F, Z As String
Dim s, SS, vv As Long
R = Left(App.Path, 3)
N = Space$(3)
F = Space$(255)
GetVolumeInformation R, N, s, vv, 255, 0, F, SS
PROTECCION = vv
End Function
Ahora en el programa tendrías que hacer lo siguiente:
en el evento Load del form principal tendrias que intentar leer el archivo(por ejemplo LLAVE. KEY) que seria el archivo llave, si este no esta, significa que es la primera vez que se ejecuta, entonces tienes que leer el numero de serie de la maquina con esta instrucción:
numerodeserie = PROTECCION
Le pedís al usuario que te envíe ese numero, y vos al recivirlo lo codificas con algún algoritmo propio, inventalo vos para más seguridad, (pero si quieres te puedo dar algunas ideas), luego le entregas al cliente el archivo LLAVE. KEY con el numero codificado, y en la próxima vez que el programa se ejecute, como el archivo existe, va a comparar el numero del archivo LLAVE. KEY, previmente decodificado con el mismo método, con el numero de serie de la maquina, si coincide, continua con su ejecución, de lo contrario, solo sale.
Con esto te aseguras que tu programa funcione solo en una maquina, fíjate que en archivo de llave, como esta relacionado con el numero de la maquina, no sirve para otra maquina.
Cualquier duda estoy a tu disposición.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas