Ver Mensaje Individual
  #10  
Antiguo 13-07-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Reputación: 17
BuRtOn Va por buen camino
Saludos amigos, muchisimas gracias Coso por colaborarme en el codigo, y ati delphius como siempre me ayudas, jeje, miren lo que yo quiero, es proteger mi aplicacion de lo siguiente:

Vendi mi aplicacion a un Gimnasio, le di el instalador y listo, el instalo el .exe de mi aplicacion en su pc y las bases de datos correspondientes, ...pero hay un problema si el dueño del Gimnasio coje y copia mi aplicacion o simplemente coje el Cd de instalacion que yo le di, e instala mi aplicacion en otro pc, o mejor dicho vende mi aplicacion a otro Gimnasio....entonces necesito seguridad de que si otra persona va a instalar mi aplicacion no pueda...que la aplicacion solo corra en los Gimnasios autorizados, osea los que me compran la aplicacion....y que una vez este instalada la aplicacion y el le de copiar al .exe y a las bases de datos y los pase a otro pc no pueda...pues ahi es donde emepieza a funcionar el Id del disco duro.....entonces miren lo que estoy tratando de hacer:


1. Para evitar que los Gimnasios que tengan mi cd de instalacion y traten de instalarlo no puedan, pues facil, siempre que vendemos la aplicacion y se instala ella genera el formulario que les digo que es el formulario de seguridad....este Formulario contiene lo siguiente:

* Serial: el serial es un codigo standar que nostros grabamos, para que se pueda instalar la aplicacion....ejemplo de lo que estoy explicando:

Código Delphi [-]
procedure TfrmSerial.Button2Click(Sender: TObject);
begin
if edtSerial.Text='xxxxxx' then
begin
ShowMessage('Bienvenidos a SISGYM');
end
else
begin
ShowMessage('Por favor no trate de crackear esta aplicacion');
end;
end;

como se pueden dar cuenta el serial esta predefinido en tiempo de programacion y el codigo seria es xxxxxx, entonces ese codigo siempre lo colocamos nostros apenas instalemos la aplicacion, por que eso es lo bueno, que nostros mismos vamos e instalamos nuestra aplicacion....asi que ese codigo solo lo sabemos mi compañero y yo...por ese lado evitaria que me copien la aplicacion desde el cd de instalacion que yo doy...


* Id: el Id del disco duro lo que me ayudaria a evitar es que me copien la aplicacion despues de instalarla en el pc del Gimnasio obtenga la aplicacion....ejemplo de lo que digo: Me compran la aplicaicon, la instalo en el pc del gimanasio, el dueño le da copiar a mi .exe y a las bases de datos, y le da pegar en otro pc, y listo queda de una mi aplicacion en otro pc, entonces si tengo el Id del disco duro, en una Base de datos o un archivo, como sea mas facil, pues simplemente que me genere la consulta siempre que se ejecute la aplicacion que si el Id es <> no me deje ejecutar la aplicacion.

Pero una de las cosas que quiero hacer y a lo mejor no me explique es lo que mencione anteriormente lo del Serial y el Id, ya saben por que el serial y por que el Id, lo que deseo es pues cuando la aplicacion se ejecute por primera vez me arroje el formulario de Seguridad e inmediatamente proceda a insertar los datos de Serial e Id...y se ejecute la consulta respectvia si los datos son correctos permita continuar con la aplicacion si no, pues simplemente emitir un shomessage('Datos de registros incorrectos'); y cierre la aplicacion, a eso se le puede agregar lo que decia coso, que si el numero de intentos es > 5 cierre la aplicacion---, lo otro es que una vez registrado el cliente no vuelva a salir el formulario, pero que siempre que se ejecute la aplicacion se ejecute la consulta de que si el Id es correcto....y si algun caso el Id no llega a ser correcto eso indica que la aplicacion esta en otro pc.... e inmediatamente vuelva a generar el formulario de ingrese Serial e Id........eso es lo que nesecito....y Coso, por archivos me parece como mas facil, segun tu codigo, pero no soy tan avanzado como tu, me gustaria que me pasaras un tutorial de archivos, pues tu das una buena opcion de almacenar el Id en un archivo pero no tengo ni idea como crearlo...no se como es la sintaxis, ni los parametros del archivo que mencionas, en fin espero que me puedas explicar con plastilina, jejeje, es que el tiempo apremia me toca entregar la aplicacion este martes, y necesito eso para que no me la roben, ya basta que aqui en Colombia, piratean todo...hay que tener cuidado con eso...les agradesco que me puedan colaborar....y espero que esta vez me hallan entendido mas....me demore mucho planteando bien mi pregunta...ha y por ultimo, esta es la funcion que tengo para extraer el Id:

Código Delphi [-]
//Funcion de seguridad
function GetVolumeID(DriveChar: Char): String;
  var
    MaxFileNameLength, VolFlags, SerNum: DWord;
  begin
    if GetVolumeInformation(PChar(DriveChar + ':\'), nil, 0,
       @SerNum, MaxFileNameLength, VolFlags, nil, 0)
    then
    begin
      Result := IntToHex(SerNum,8);
      Insert('-', Result, 5);
    end
    else
        Result := '';
  end;

Posdata: Tengo una aplicacion aparte que me extrae y me muestra por pantalla el Id del pc, entonces solo es insertar el Id de mi aplicacion en mi formulario de seguridad y comprobar si ese Id corresponde al del Pc...Gracias amigos por todo su tiempo prestado...
Responder Con Cita