Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2012
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
Red face Obtener serial físico de disco duro

saludos a todos espero q me puedan ayudar:
ya me crebe la cabesa y no se me ocurre nada , mi problema, es el siguiente, en mi empresa me pidieron que codifique ciertos datos del cliente, pero que se haga con una pass que el cliente no sepa cual es y que se genere en cada computadora., es decir que no se puedan leer en otra pc solo en la pc principal, como lo podria hacer
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #2  
Antiguo 08-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Recuerda poner títulos descriptivos a tus preguntas, gracias.

En cuanto a tu pregunta, no he entendido exactamente qué quieres hacer.
Responder Con Cita
  #3  
Antiguo 08-01-2012
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
encriptar unos archivos

el cliente quiere un programa, que solo le permita ver unos ficheros en su pc, y q si alguien se lleva la aplicacion y los archivos no pueda verlos, es necesario encriptarlos, pero el cliente quiere q la clave la genere dinamicamente por computadora, haci no hay forma q el que obtenga el ejecutable obtenga la clave. pero no se el codigo de generacion de hardawareid o algo q nunca cambie en la pc aunque se formatee
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #4  
Antiguo 08-01-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Algoritmos para cifrar hay muchos... supongo que una pequeña búsqueda en Google / Wikipedia, etc. te podrá ayudar.

El problema está en obtener una clave y que esta no cambie en el mismo ordenador...
Puedes probar con el número de serie del disco duro, pero puede que cambie el disco duro
Puedes probar con el número MAC de la tarjeta de red, pero que pasa si cambia la tarjeta e red

Puedes guardar la clave en el registro, pero si formatea deberás primero hacer una copia de esta clave.

Si instalas un servidor web en tus instalaciones, podrías crear un servicio que pida Nro. de serie del Disco Duro + MAC de la tarjeta de red y devuelva la clave para que tu aplicación funcione.
Si el cliente modifica uno de estos dos elementos, deberás actualizar estos datos en tu servidor.
El problema es si tiene que funcionar sin estar conectado a internet.
Responder Con Cita
  #5  
Antiguo 08-01-2012
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
tendran algun codigo a la mano.

la encriptacion ya la tengo, lo que no tengo es como obtener el numero serial fisico del disco, x q si el usuario cambiara el disco duro lo puedo obtener de el mismo disco duro.
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #6  
Antiguo 08-01-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola thecidmx.

Código Delphi [-]
function GetSerialDisk(Drive: Char): String;
var
  MaxFileNameLen, VFlags, SNum: DWORD;
begin
  if GetVolumeInformation(PChar(Drive + ':\'), nil, 0, @SNum, MaxFileNameLen, VFlags, nil, 0) then
    Result := IntToHex(SNum,8)
  else
    Result := '';
end;

Llamada de ejemplo:
Código Delphi [-]
  ShowMessage(GetSerialDisk('C'));


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 08-01-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Hola compañero!

Existe una función en la API de Windows que encripta un stream, la encriptación es única para la PC o la cuenta de usuario actual. Lamentablemente no recuerdo el nombre de la API. Solo sé que no está implementada por [EDITO] mi respuesta no se envió completa [/EDITO]
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web

Última edición por Chris fecha: 08-01-2012 a las 21:28:59.
Responder Con Cita
  #8  
Antiguo 08-01-2012
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
He encontrado el nombre de la función de la API. Esta se llama CryptProtectData. En mi anterior respuesta había dicho que el encabezado de esta función no está implementado en Delphi. Tendrás que hacer su traducción si te interesa trabajar con ella.

También puedes leer sobre las APIs de encriptación ofrecidas por el SDK de Windows en este enlace.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #9  
Antiguo 08-01-2012
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.735
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
¿Qué pasa si el usuario pierde el disco duro? Me refiero a si se estropea físicamente.
No podrás obtener el nro. de serie con lo que no podrás volver a leer los archivos que tengas guardados en algún backup.
Responder Con Cita
  #10  
Antiguo 08-01-2012
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
Post lo resolvi muchas gracias.

Cita:
Empezado por duilioisola Ver Mensaje
¿Qué pasa si el usuario pierde el disco duro? Me refiero a si se estropea físicamente.
No podrás obtener el nro. de serie con lo que no podrás volver a leer los archivos que tengas guardados en algún backup.
no entiendo como se puede estropear el numero físico de la etiqueta del disco duro, la otra forma q encontre el el numero serial de instalación de windows, el cual se guarda en la api, y gracias efisa por el codigo, pero ese debuelve el numero serie logico de la unidad, no el físico, pero si funciona bien, para proteccion de algun software, y gracias chris, por la libreria, ya la habia oido habla, pero tampoco me acordaba, la voy a implementar la dll, en delphi.

acabo de subir el ejemplo de la serial a la ftp de clubdelphi, pero cometi un error y lo puse en el directorio raíz, le pido de la manera mas atenta lo muevan a la carpeta de varios.
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #11  
Antiguo 09-01-2012
Avatar de thecidmx
thecidmx thecidmx is offline
Miembro
NULL
 
Registrado: oct 2011
Posts: 93
Poder: 13
thecidmx Va por buen camino
se llama

el archivo se llama serial windows y office1.rar ahi obtenemos el numero serial de windows y de office, espero le sirva a otros
__________________
La mejor forma de aprender es, compartir el conocimiento adquirido.
Responder Con Cita
  #12  
Antiguo 09-01-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Está en delphi/ejemplos, exactamente aquí.

Última edición por ecfisa fecha: 05-10-2014 a las 22:37:12. Razón: Actualizar enlace
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
serial del disco duro JoseSagas Varios 1 19-06-2012 20:58:41
obtener el número de serie de un disco duro serial ATA mgc API de Windows 4 27-03-2009 15:54:18
Número de serie físico del disco duro REDCOM Varios 10 23-03-2009 20:35:53
Como obtener el serial del volumen del Disco Duro JoAnCa API de Windows 3 12-10-2007 20:17:17
Serial del disco duro Emerson API de Windows 10 12-07-2006 07:44:30


La franja horaria es GMT +2. Ahora son las 07:32:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi