Obtener serial de Fabrica de discos USB..

Post Reply
User avatar
cuatecatl82
Posts: 614
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México
Contact:

Obtener serial de Fabrica de discos USB..

Post by cuatecatl82 »

Saludos colegas:

Pues si, otra mas de mis marcianadas y cosas raras.. Pues si. es posible obtener el numero de serie de discos USB y Discos Duros de Fabrica, se que se puede obtener por medio de la clase TDiskInfo y por medio de nSerialHD("C:\") pero me devuelve valores incorrectos.. He consultado con muchas utileria de terceros como optimizadores de archivos y las serie si coinciden pero con Fw no.. ya que me devuelva valores antecedidos de guion ( - ) ejemplo( -254545 en C:\ y 4544151 en D:\) y en caso de memorias USB no da nada..

Alguna Solucíon.. agradecimientos de antemano..
Saludos..
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Víctor,

Revisa fwh\samples\protect.prg y el trabajo que está haciendo Carlos Gallego.

El signo - sólo significa que se está dando signo a un valor que puede ser considerado sin signo. En caso de un valor de 32 bits, sólo tienes que calcular su diferencia hasta 0xFFFFFFFF. Para 16 bits 0xFFFF.
regards, saludos

Antonio Linares
www.fivetechsoft.com
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

Re: Obtener serial de Fabrica de discos USB..

Post by ARCC »

Buen día para todos...
cuatecatl82 wrote:se puede obtener por medio de la clase TDiskInfo y por medio de nSerialHD("C:") pero me devuelve valores incorrectos
Que tal cuatecatl82, puedes explicar por favor a que te refieres con que TDiskInfo y nSerialHD("C:") devuelven valores erroneos?. TDiskInfo te devuelve el número de serie del volumen ej. 7C35-479C
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
User avatar
cuatecatl82
Posts: 614
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México
Contact:

Post by cuatecatl82 »

Saludos Antonio Castro:

Me refiero a ke TDiskInfo devuelve el numero en Formato para DOS y no en version completa de fabrica como podras apreciar aki y en con nHDSerial devuelve -254545 en C:\ cuando en TDiskInfo te devuelve tambien en formato DOS...

Image

Saludos
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
MauroArevalo
Posts: 98
Joined: Thu Jan 19, 2006 11:47 pm
Location: Bogota DC. Colombia
Contact:

Post by MauroArevalo »

Daniel:

Si tienes la razón con FWH no funciona muy bien lo del serial, yo controlo con el serial del disco mis aplicativos y a los clientes que formatean por algun virus o por mantenimiento del disco les da otro número de serie por ejemplo:

Serie cuando instalo el aplicativo por primera vez:

8190595220 //Cliente uno
-252484547 //Cliente Dos


Despues de formatear el equipo arroja el siguiente número de serie:

463307651 //Cliente Uno
953280111 //Cliente Dos


Lógico, eso me genera problemas porque yo tengo una rutina que hago a partir del número de serie del disco y genero una contraseña para validar la legalidad del programa, al cambiar el número de serie la contraseña ya es diferente, por tanto el lio que se me forma. Mis clientes pueden descargar el programa desde internet a través de mi página y los van actualizando pero al cambiar la constraseña se me trunca todo..

Cuando tenia la aplicación en Clipper DOS utilizaba un utilitario y me funcionaba de maravillas y simpre me arrojaba el mismo número de serie del disco asi se formateara.

Antonio, será que nos puedes ayudar con esto, es un bug o estamos haciendo algo mal? Gracias.

Saludos
Edgar Mauricio Arévalo Mogollón.
Bogotá DC. Colombia
FWH 19.06 xHarbour 1.2.1, Pelles C, Fivedit, Borland 7.30
http://www.hymplus.com
Tratando de retomar la programación....
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

Post by ARCC »

Buen día para todos...

Que tal Victor ya entendí cual es el problema, lo que necesitas es es serial fisico de los dispositivos y no el serial que genera el S.O. al formatearlos el lógico.

Creo que conseguí algo de información en Internet, por favor crea un archivo con extensión VBE Ej. PRUEBA.VBE y copia lo siguiente para ver si es lo que necesitas:

Code: Select all

strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive",,48) 

For Each objItem in colItems 
    Wscript.Echo "Caption: "       & objItem.Caption
    Wscript.Echo "Description: "   & objItem.Description
    Wscript.Echo "DeviceID: "      & objItem.DeviceID
    Wscript.Echo "InterfaceType: " & objItem.InterfaceType
    Wscript.Echo "Manufacturer: "  & objItem.Manufacturer
    Wscript.Echo "Model: "         & objItem.Model
    Wscript.Echo "Name: "          & objItem.Name
    Wscript.Echo "PNPDeviceID: "   & objItem.PNPDeviceID
Next
Guardalo y presiona doble clic para que veas lo que hace, por favor avisame para ver si te funcionó
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
User avatar
cuatecatl82
Posts: 614
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México
Contact:

Post by cuatecatl82 »

Negativo colega Antonio. devuelve varios mensajes y entre ellos los del numero de serie antecediro de: PNPDEVICEID: y todo lo relacionado al tipo de disco y al fina el numero de serie magico.. va por ahi.. abra que ver la forma de extraer solo el darto de num. de serie..
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

El código de fwh\samples\protect.prg usa el número de serie de hardware del pendrive, y no el número de serie que le asigna el formateo
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
JmGarcia
Posts: 654
Joined: Mon May 29, 2006 3:14 pm
Location: Madrid - ESPAÑA

Post by JmGarcia »

Antonio Linares wrote:...fwh\samples\protect.prg...
¿ Que hace protect.prg y para que sirve ?
Mi abuelo decía: Los aviones vuelan porque Dios quiere, y los helicópteros ni Dios sabe porque vuelan.
FWH 16.02, xHarbour 1.2.3, Harbour 3.2.0, WorkShop 4.5, AJ Make 0.30, Borlan BCC 7.00, VisualStudio 2013
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

JM,

fwh/samples/protect.prg usa el número de serie hardware del pendrive para generar una protección anti copia.

Ejecuta fwh/samples/protect.prg ya que es muy intuitivo su uso :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
ARCC
Posts: 86
Joined: Sat Jun 24, 2006 4:27 pm
Location: Maracaibo - Zulia - Venezuela
Contact:

Post by ARCC »

Buen día para todos...

Que tal Victor creo que ahora si encontré lo que necesitas, por favor has el mismo procedimiento que te comenté antes y ejecuta el script

Code: Select all

StrComputer = "." 
Set ObjetoWMI = GetObject("winmgmts:\\" & StrComputer & "\root\CIMV2") 
Set Discos = ObjetoWMI.ExecQuery("SELECT * FROM Win32_LogicalDisk",,48) 

Wscript.Echo "SERIAL LÓGICO DEL DISCO"

For Each Disco In Discos
    Wscript.Echo "Unidad Disco: " & Disco.Name
    Wscript.Echo "Serie Lógica: " & Disco.VolumeSerialNumber
Next

'-------------------------------------------------------------------------------------

Set Discos = ObjetoWMI.ExecQuery("SELECT * FROM Win32_DiskDrive",,48) 

Wscript.Echo "SERIAL FÍSICO DEL DISCO"

For Each Disco In Discos
    Wscript.Echo "Serie decimal:     " & Disco.Signature
    Wscript.Echo "Serie Hexadecimal: " & Hex(Disco.Signature)
Next

'-------------------------------------------------------------------------------------

Set Discos = ObjetoWMI.ExecQuery("SELECT * FROM Win32_PhysicalMedia",,48) 

Wscript.Echo "SERIAL DE FABRICA - EL MÁS BUSCADO"

For Each Disco In Discos
    Wscript.Echo "Serial de Fabrica: " & Disco.SerialNumber
Next
Por favor avisame si te funcionó
Saludos,

Antonio Castro
Maracaibo - Venezuela
ant_cas@yahoo.com
User avatar
cuatecatl82
Posts: 614
Joined: Wed Mar 14, 2007 6:49 pm
Location: San Cristobal de las Casas, Chiapas México
Contact:

Post by cuatecatl82 »

Que tal Antonio Castro:

Desafortunadamente sigue sin funcionar, solamente te muestra las series logicas de todos los discos que muestra Mi PC de Windows, hasta ahi bien, pero cuando mustra los serieles de Fabrica solo muestra el del Disco Duro, más no así del USB o Floppy o del CD-RW.. Creo que estoy pidiendo algo imposible, tendre que ver de que otra forma podemos obtener este dato y aplicarlo para lo que necesito..

Saludos y un abrazo..
Soluciones y Diseño de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Diseñador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Post Reply