sábado, 9 de junio de 2012

Deshabilitar Puertos USB con C++


En este post voy a mostar como podemos deshabilitar y habilitar puertos USB. Bloqueando el puerto USB nosotros podemos controlar que el usuario extraiga informacion de la PC o no.
Muchas universidades tienen prohibido usar el USB en ciertas PC, asi que tienen que bloquearlo. Con este truco tambien aprenderemos como abrir puertos USB bloqueados.
Este codigo es muy facil simple, una vez que el programa bloquee el puerto USB la PC no reconocera ningun USB insertado, pero podemos revertirlo usando otro codigo de desbloqueo de puertos USB.
Este programa lo probe en mi XP no estoy seguro si funciona en Vista o Windows 7. Tu puedes probar este programa en tu PC, y puedes probar el codigo de desbloqueo tambien.
Logica del programa
La logica del programa es simple. El archivo fuente en 'C' block_usb.c escribe el valor DWORD de 4 (100 en binario) en la configuracion del REGEDIT en KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start" para bloquear los puertos USB.
De forma similar, en el proceso inverso, el archivo fuente en 'C' Unblock_usb.c escribe el valor DWORD a 3 (011 en binario) en la configuracion del Regedit en "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start" para desbloquear los puertos USB.
CODIGO
Para deshabilitar puerto USB
#include
void main()
{
system("reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\USBSTOR \/v Start \/t REG_DWORD \/d 4 \/f");
}
Graba este codigo como block_usb.c y abrelo con Turbo C, despues de la compilacion creara un block_usb.exe el cual es un programa simple que deshabilitara (bloqueara) todos los puertos USB de la PC.
Despues de ejecutar block_usb.exe inserta tu USB, la PC no lo detectara. Ahora aqui esta el codigo de desbloqueo.
Para habilitar puertos USB
#include
void main()
{
system("reg add HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\USBSTOR \/v Start \/t REG_DWORD \/d 3 \/f");
}
Guarda este codigo como unblock_usb.c y compilalo con Turbo C para obtener el unblock_usb.exe.
Ejecuta el unblock_usb.exe y ahora la computadora detectara tu USB.

1 comentario:

  1. disculpa quisiera saber si hay alguna manera e deshabilitar puerto por puerto

    ResponderEliminar