numero de serie, proteccion software

17/05/2005 - 12:12 por Maria | Informe spam
Hola a todos,

Estoy buscando una forma de proteger un pequeño programa desarrollado con
C#, de forma que cada vez que se instale en un ordenador se obtenga un
numero de serie y a partir de ese numero, podamos generar una clave de
activación unica para ese ordenador.
He visto algun software que hace eso pero de pago. Alguien sabe de algun
software gratuitoo alguna forma sencilla de hacer algo asi.
Muchas gracias

Un saludo.
María

Preguntas similare

Leer las respuestas

#1 Alfredo Novoa
17/05/2005 - 13:09 | Informe spam
On Tue, 17 May 2005 11:12:32 +0100, "Maria"
wrote:

He visto algun software que hace eso pero de pago. Alguien sabe de algun
software gratuitoo alguna forma sencilla de hacer algo asi.



Puedes utilizar el número de serie del disco duro para generar una
clave.

Aquí tienes un ejemplo de como obtenerlo:


string GetSerialNo()
{
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");

IEnumerator enumerator = searcher.Get().GetEnumerator();

enumerator.MoveNext();

ManagementObject mo (ManagementObject)enumerator.Current;

if (mo["SerialNumber"] == null)
return "";
else
return mo["SerialNumber"].ToString();
}
Respuesta Responder a este mensaje
#2 Maria
17/05/2005 - 13:47 | Informe spam
Gracias por contestar. Una preguntita mas, como puedo hacer para que a
partir de ese numero, yo genere una clave, se la de al cliente y su
ejecutable se desbloquee??

Saludos


"Alfredo Novoa" wrote in message
news:
On Tue, 17 May 2005 11:12:32 +0100, "Maria"
wrote:

He visto algun software que hace eso pero de pago. Alguien sabe de algun
software gratuitoo alguna forma sencilla de hacer algo asi.



Puedes utilizar el número de serie del disco duro para generar una
clave.

Aquí tienes un ejemplo de como obtenerlo:


string GetSerialNo()
{
ManagementObjectSearcher searcher = new
ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");

IEnumerator enumerator = searcher.Get().GetEnumerator();

enumerator.MoveNext();

ManagementObject mo > (ManagementObject)enumerator.Current;

if (mo["SerialNumber"] == null)
return "";
else
return mo["SerialNumber"].ToString();
}


Respuesta Responder a este mensaje
#3 Alfredo Novoa
17/05/2005 - 16:09 | Informe spam
On Tue, 17 May 2005 12:47:01 +0100, "Maria"
wrote:

Gracias por contestar. Una preguntita mas, como puedo hacer para que a
partir de ese numero, yo genere una clave, se la de al cliente y su
ejecutable se desbloquee??



Pues realizando cualquier manipulación sobre el número de serie que tu
cliente no conozca.

Por supuesto el cliente debería darte el número de serie de su disco
para poder calcular esa clave.

También podrías manipular el numero de serie del disco duro antes de
enseñarselo al cliente para que sea más dificil que sepa que estás
identificando su ordenador por el número de serie del disco duro.

Resumiendo:

Tu programa de registro de la aplicación lee el número de serie del
disco duro, lo codifica y se lo enseña al cliente. El cliente te llama
y te da el código, tu generas la clave y se la das al cliente.

Lo malo de este tipo de protección es que cualquier cracker se la
salta fácilmente desensamblando el algoritmo para generar la clave.


Saludos
Respuesta Responder a este mensaje
#4 Braulio Diez
17/05/2005 - 19:19 | Informe spam
Hola,

Est artículo te puede ayuda:

http://www.codeproject.com/dotnet/xmldsiglic.asp

Buena suerte
Braulio

"Maria" escribió:

Hola a todos,

Estoy buscando una forma de proteger un pequeño programa desarrollado con
C#, de forma que cada vez que se instale en un ordenador se obtenga un
numero de serie y a partir de ese numero, podamos generar una clave de
activación unica para ese ordenador.
He visto algun software que hace eso pero de pago. Alguien sabe de algun
software gratuitoo alguna forma sencilla de hacer algo asi.
Muchas gracias

Un saludo.
María



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida