ayuda con aplicacion con serials

Iniciado por MoNsTeR_MoDz, 21 Abril 2014, 16:46 PM

0 Miembros y 1 Visitante están viendo este tema.

MoNsTeR_MoDz

hola soy nuevo en esta web ya que me gusta este mundo y utilizo varios programas.
veran tengo una aplicacion echa con visual studio c#
y me gustaria añadir que pida un serial diferente para cada usuario q la descarge.
osea que caundo la habran les ponga unos numeros me lo manden a mi y yo le pase el serial.
pero como digo tiene q ser diferente para cada usuario.
si me pudieran explicar en español como es el codigo y como se implantaria en el proyecto ya terminado.
muchas gracias.

eferion

Reglas del foro: No se hacen tareas. Esto viene a decir que no voy a poner código.

La idea es coger una serie de variables del sistema (número de serie del disco duro, identificador de la placa base, cantidad de memoria RAM, versión del kernel, loqueseteocurra ) y pasarlos por un algoritmo para que genere un código a tu antojo.

Ese es el código que te tienen que proporcionar.

Tú coges ese código y le aplicas otro algoritmo que saque un hash también a tu antojo. Este código es el que devuelves al cliente.

Tu programa recibe ese código y verifica que es el resultado de aplicar exactamente la misma operación.

Precauciones:

* El mecanismo es muy sencillo de piratear
* Si eliges variables cambiantes ( fecha y hora, aplicaciones instaladas, ... ) a la hora de generar el código que te han de proporcionar es probable que falle el proceso de validación al cambiar el estado de dichas variables.

Posibles mejoras:

* Si usas un sistema de cifrado asimétrico puedes generar la clave a partir de los datos que introduzca el usuario( nombre, dirección de correo, ... ). En tu aplicación almacenas la clave pública y tu generas el hash a partir de la clave privada. La ventaja de este sistema es que ya no resulta sencillo obtener el código de desbloqueo analizando la aplicación. La desventaja de esto es que a la mismas entradas les corresponderá la misma clave de desbloqueo.

* Lo anterior se puede mejorar añadiendo un valor propio de la máquina ( id de la tarjeta gráfica, del procesador o del disco ). Desventaja: Si se cambia ese componente, fallará la validación.

Como ves, no hay una solución que no de algún tipo de problema.




MoNsTeR_MoDz

gracias x responder pero no se por donde empezar...

eferion

Lo mismo deberías empezar por cosas más sencillas y dejar esto para cuando tengas más rodaje.

Eleкtro

#4
Cita de: MoNsTeR_MoDz en 21 Abril 2014, 18:02 PM
gracias x responder pero no se por donde empezar...

Pues si piensas desarrollar un sistema de registro de licencias online que sea fiable sin apenas experiencia en el tema... :¬¬ (yo tampoco es que tenga mucha)

Con el uso de la librería CryptoLicensing (y la GUI) tienes el 90% del trabajo hecho.

Nota: Es de pago (...para quien quiera comprarla xD) e incluye varios ejemplos en VB.NET/C#, aparte, en el post con chincheta sobre Snippets puedes encontrar ejemplos mios básicos de esta librería.

Saludos!