Saber Serial de Memoria USB (Flash Drive o PenDrive)

2,489 views
Skip to first unread message

Ing.Daniel Bojorge

unread,
Mar 16, 2013, 1:34:13 PM3/16/13
to mundovis...@googlegroups.com, publice...@googlegroups.com
Hola a tod@s.

Donde trabajo me delegaron la función de bloquear el uso de memorias USB (o como le digan Flash Drive, PenDrive), lo podría hacer con el registro de windows o en el CMOS de cada pc, pero tengo un problema, no sólo se utilizan memorias USB, sino también otros dispositivos USB, tales como teclado, mouse, lectores de código de barra, balanzas, lectoras de tarjetas, etc, etc. Que si bloqueo el puerto USB ya sea vía registro de windows o CMOS, deshabilitaría lo que si se requiere usar.

Para tal caso y apoyándome en el antivirus que tenemos, éste trae opción de bloquear el dispositivo de almacenamiento USB, con eso resuelvo todo, pero hay sectores donde se les dejará autorización de usar una memoria previamente registrada, el antivirus también permite esto, por lo que sólo es poner el número de serie de la memoria USB y darle los permisos (Bloqueo, Lectura, Lectura/Escritura).

Pero ahí vienen mis problemas, ¿cómo saber el número de serie de esas memorias? Investigando hice dos programas que se suponen hacen eso y los resultados son diferentes, como podrán ver en la imagen siguiente.

Imágenes integradas 2

Lo que está en texto consula es con una de las funciones que hice y el que está en el messagebox, es otra función, obviamente son programas diferentes, pero el problema principal es que el antivirus detecta otro serial y me pregunto, ¿cuál es lo más correcto?

El antivirus me lee esto:

Clase de dispositivo Almacenamiento en disco
Dispositivo Proveedor: Generic, Modelo: Mass Storage Device, Número de serie: 058F63666471


¿Qué podría hacer? Si no hago el programa, tendría que bloquear todas las USB y luego que conecten las memorias para ir viendo el serial que me da el antivirus, pero yo quería hacer un programa que desde mi pc metiera la memoria y me diera el serial, así de una sóla vez mando la tarea a la pc "víctima" donde bloqueo todo, menos la memoria autorizada.

Los programas que usé son:

Function Serial2
* Set Step On
Local objWMI,cCadWMI,oSistema,Salida
objWMI = Getobject("winmgmts:\\")
cCadWMI = "Select * from Win32_LogicalDisk"
oSistema = objWMI.ExecQuery(cCadWMI)
Salida = ""

For Each Disco In oSistema
If !Isnull(Disco.VolumeSerialNumber)
Salida =  Salida + "Unidad: " + Disco.Name + " Serial: " + Disco.VolumeSerialNumber + Chr(13)
Endif
Next

Return Salida
Endfunc


Function Serial3
Parameters lDrv


If Vartype(lDrv)#"C"
lDrv = ""
Endif

Local Obj,objDrive,Drv

Obj = Createobject("Scripting.FileSystemObject")


For Each Drv In Obj.Drives
If Drv.Isready

If !Empty(lDrv)
If Upper(lDrv) = Drv.Driveletter
? "Drive Letter: "
?? Drv.Driveletter
*SET STEP ON
? "Serial Number: "
?? Transform(Drv.Serialnumber,"9999999999999999999")
? "Drive Type: "
?? Drv.Drivetype
? "File System: "
?? Drv.FileSystem
? "Free Space: "
?? Drv.FreeSpace / 1024
?? " kb"
? "Total Size: "
?? Drv.TotalSize / 1024
??" kb"
? "Volume Name: "
?? Drv.VolumeName
? "---------"
Endif
Else
? "Drive Letter: "
?? Drv.Driveletter
*SET STEP ON
? "Serial Number: "
?? Transform(Drv.Serialnumber
? "Drive Type: "
?? Drv.Drivetype
? "File System: "
?? Drv.FileSystem
? "Free Space: "
?? Drv.FreeSpace / 1024
?? " kb"
? "Total Size: "
?? Drv.TotalSize / 1024
??" kb"
? "Volume Name: "
?? Drv.VolumeName
? "---------"

Endif
Endif
Next

Endfunc


Serial3 es el que responde en la consola y Serial2 en el messagebox.






Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
www.debsconsultores.com
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)
usb.jpg

edgar suarez kummers

unread,
Mar 16, 2013, 1:53:43 PM3/16/13
to mundovis...@googlegroups.com, publice...@googlegroups.com
Estimado Ingeniero Daniel Bojorge:

Yo ya había predicho ese comportamiento de los lectores de seriales, bajo windows 7 (no lo sé) pero en el windows 8 hace FLIP y luego hace FLOP, o sea cuando quiere lee algo así como PADRE y cuando le da la gana lee DREPA para poner un ejemplo.

Te sugiero que con la lectura del serial crees un algoritmo que diga por ejemplo: 
Tiene la P 
Tiene la A
Tiene la D
Tiene la R
Tiene la E

Sí, en general quiere decir PADRE o DREPA o ADPRE etc .... 

Yo utilizo un lector en MS-DOS y creía que lo había resuelto, pero el dichoso WINDOWS 8 me tomaba la delantera hasta que espada en mano lo derroté con un algoritmo, me quería hacer la CONFUCIO y finalmente creo que perdió ... PUFFF ... recuerda a la reina de belleza que le preguntaron quien era CONFUCIO y dijo que el que inventó la CONFUSIÓN .... 

saludos

Please look my LINKS --- What I offer ---








edgar suarez kummers
ingeniero electrónico
matrícula 11714
diseño de software y ensamble de cuadros de control
cel Colombia: 3176992038
tel fijo Bogotá: 3126100


--
_______________________________________________________________
Has recibido este mensaje porque estás suscrito al Grupo "Mundo Visual
FoxPro" de Grupos de Google.
 
Para anular la suscripción a este grupo, envía un mensaje a:
mundovisualfox...@googlegroups.com
---
Has recibido este mensaje porque estás suscrito al grupo "Mundo Visual FoxPro" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a mundovisualfox...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

usb.jpg

Ing.Daniel Bojorge

unread,
Mar 16, 2013, 1:58:18 PM3/16/13
to mundovis...@googlegroups.com
Gracias por responder estimado Edgard.

Pues el serial lo quiero para que desde el antivirus bloquear (que si hace bien su tarea), pero no quería estar con el mismo bloqueando todo, luego metiendo la memoria, ver qué serial detecta y luego enviar otra tarea bloqueando todo, pero exceptuando la del serial específico.

Pero creo que haré así, porque tiempo no tengo y con algunos proyectos que espero terminarlos pronto, podré volver al foro con más regularidad.

Gracias nuevamente.



Dios L@s Bendiga

Saludos,

Daniel (Con 1 Estrella DCE de Microsoft)
www.debsconsultores.com
Nicaragua

"Si ustedes permanecen unidos a mí, y si permanecen fieles a mis enseñanzas, pidan lo que quieran y se les dará.
(Juan 15:7 DHH)
Bendito el varón que se fía en el SEÑOR, y cuya confianza es el SEÑOR.
(Jeremías 17:7 RV2000)


usb.jpg
Reply all
Reply to author
Forward
0 new messages