Page 1 of 1
Seguridad antipirateria
Posted: Wed Mar 19, 2008 12:32 pm
by Loren
Compañeros:
Intento evitar las copias piratas de mi sistema mediante la lectura del nº de serie del PC. Lo he intentado con 2 metodos distintos:
a) nSerialHD( "C:" ) --> funcion de FWH
b) mediante oDisk := TDiskInfo():New( "C:" )
nserie:=oDisk:NumSerie() //Numero de Serie
En _, me devuelve un numero pero SIEMPRE es el mismo probandolo incluso en distintos PC.... Deberia ser distintos, no? ¿ Como es posible ???
Alguna solución ??
Mil gracias.
LORENZO
Re: Seguridad antipirateria
Posted: Wed Mar 19, 2008 1:41 pm
by ARCC
Buen día para todos...
Loren wrote:Compañeros:
Intento evitar las copias piratas de mi sistema mediante la lectura del nº de serie del PC. Lo he intentado con 2 metodos distintos:
a) nSerialHD( "C:" ) --> funcion de FWH
b) mediante oDisk := TDiskInfo():New( "C:" )
nserie:=oDisk:NumSerie() //Numero de Serie
En _, me devuelve un numero pero SIEMPRE es el mismo probandolo incluso en distintos PC.... Deberia ser distintos, no? ¿ Como es posible ???
Alguna solución ??
Mil gracias.
LORENZO
Que tal Lorenzo, puedes mostrar por favor el código que utilizas para crear y utilizar el objeto oDisk de TDiskInfo, ya que cuando creas y utilizas el objeto debes hacerlo de esta forma:
oDisk := TDiskInfo():New( "C:" ) // Lo creas
oDisk:NumSerie() //Numero de Serie de C:\
oDisk:Drive( "D:" ) // colocas la nueva unidad
oDisk:NumSerial() // muestras el serial de D:\ el cual acabas de asignar.
Si necesitas utilizar una unidad diferente a C:\ puedes crearlo en método new directo, ya que por defecto se utiliza la unidad C:\. Ejemplo
oDisk := TDiskInfo():New() // Toma la unidad C:\ por defecto
oDisk := TDiskInfo():New( "D:" ) // Así o
oDisk := TDiskInfo():New( "E:" ) // Así
Nota: Estoy trabajando en unas mejoras en la clase TDiskInfo y al final de esta semana la público para que todos la puedan utilizar
Posted: Wed Mar 19, 2008 1:45 pm
by Raymundo Islas M.
LOREN
Puedes usar la opcion de busqueda en este mismo foro, ahi obtendras todas las respuestas a tus dudas.
( prueba a usar diferentes palabras al tema que buscas y seguro lo encontraras )
Hay varios post de un metodo que anuncio Antonio hace poco en el cual se usa una memoria USB como dispositivo de proteccion e incluye codigo listo para usare.
En mi caso, llevo mucho tiempo usando unas llaves USB de la cia Aladdin con muy buenos resultados.
Saludos
Posted: Wed Mar 19, 2008 2:00 pm
by GUSPRE
El problema esta en que seguramente estas probando sobre Windows 98, en versiones posteriores a este sistem operativo, funciona bien, pero en W98 siempre te dará el mismo número incluso en distintas maquinas..
saludos,
Posted: Wed Mar 19, 2008 2:06 pm
by GUSPRE
c_se:=l2hex(nSerialHD("C:\"))
Esto funciona bien incluso en W98, mi recomendación es que además generes un PIN de activación y encryptes todo..
saludos,
Posted: Wed Mar 19, 2008 6:18 pm
by mantonio_08
Amigo:
Yo uso esto, nserie:=Str(nSerialHD()) y luego la encripto.
Este es mi codigo:
Saludos,
Antonio
Function Chequea()
Local Nserie,cEncriptado
nserie:=Str(nSerialHD())
if !Uso_red((Memvar->c_empre ),97,.f.,,,)
Tone(3000,1);Tone(4000,1);Tone(5000,1)
MsgInfo("Error ESTE SISTEMA ES UNA COPIA")
Return (.F.)
Endif
Go top
if eof().or.(Memvar->c_empre)->Fon_emp=spac(30)
MsgStop(" NO EXISTE DATOS DEFINIDOS, POSIBLE COPIA ")
close all
Return .f.
Endif
cEncriptado := Cript((nSerie),(Memvar->var_enc))
If cEncriptado#trim((Memvar->c_empre)->Fon_emp)
MsgStop(" ERROR: ESTE SISTEMA ES UNA COPIA ")
close all
Return .f.
endif
Dbclosearea()
Return .t.