elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 23:38  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  (Source) Detectar unidades extraibles USB
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Source) Detectar unidades extraibles USB  (Leído 6,692 veces)
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
(Source) Detectar unidades extraibles USB
« en: 31 Mayo 2008, 16:53 »

Formulario:
Código:
'Programado por Kizar
Private Sub Form_Load()
    AllLocalDrives
    HookForm Me.hwnd
End Sub

Private Sub Form_Unload(Cancel As Integer)
    UnHookForm Me.hwnd
End Sub

Modulo:
Código:
'Programado por Kizar
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)

Public Declare Function GetLogicalDrives Lib "kernel32" () As Long
Public Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Public Type DEV_BROADCAST_HDR
    dbch_size As Long
    dbch_devicetype As Long
    dbch_reserved As Long
End Type

Public Const GWL_WNDPROC = -4
Public Const WM_DEVICECHANGE As Long = 537              'Cambios en un dispositivo
Public Const DBT_DEVICEARRIVAL As Long = 32768          'Cuando se conecta uno nuevo
Public Const DBT_DEVICEREMOVECOMPLETE As Long = 32772   'Cuando se desconecta uno
Public Const DBT_DEVTYP_VOLUME As Integer = 2           'Logical volume, cualquier unidad de almacenamiento nueva.

Dim PrevProc As Long
Dim lArray() As String

Public Sub HookForm(hwnd As Long)
    PrevProc = SetWindowLong(hwnd, GWL_WNDPROC, AddressOf WindowProc)
End Sub

Public Sub UnHookForm(hwnd As Long)
    SetWindowLong hwnd, GWL_WNDPROC, PrevProc
End Sub

Public Function WindowProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    WindowProc = CallWindowProc(PrevProc, hwnd, uMsg, wParam, lParam)
    If uMsg = WM_DEVICECHANGE Then
        If wParam = DBT_DEVICEARRIVAL Then
            Dim dev As DEV_BROADCAST_HDR
            CopyMemory dev, ByVal lParam, 12
            If dev.dbch_devicetype = DBT_DEVTYP_VOLUME Then
                MsgBox USBConected
            End If
        ElseIf wParam = DBT_DEVICEREMOVECOMPLETE Then
            AllLocalDrives
        End If
    End If
End Function

Public Function USBConected() As String
    Dim hVolume As Long, i As Integer, b As Integer, find As Boolean
    hVolume = GetLogicalDrives()
    For i = 0 To 25
        If (hVolume And 2 ^ i) <> 0 Then
            For b = 0 To UBound(lArray)
                If lArray(b) = Chr(i + 65) Then find = True: Exit For
            Next b
            If find = False Then
                ReDim Preserve lArray(UBound(lArray) + 1)
                lArray(UBound(lArray)) = Chr(i + 65)
                USBConected = Chr(i + 65) & ":"
                Exit Function
            End If
        End If
        find = False
    Next i
End Function

Public Sub AllLocalDrives()
    Dim hVolume As Long, count As Integer, i As Integer
    Erase lArray
    count = 0
    hVolume = GetLogicalDrives()
    For i = 0 To 25
        If (hVolume And 2 ^ i) <> 0 Then
            ReDim Preserve lArray(count)
            lArray(count) = Chr(i + 65)
            count = count + 1
        End If
    Next i
End Sub


« Última modificación: 31 Mayo 2008, 22:04 por Kizar » En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #1 en: 31 Mayo 2008, 19:43 »

muy bien,pero yo estoy borracho o ya hubo un post de esto... :)


En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
Kizar


Desconectado Desconectado

Mensajes: 1.325


kizar_net


Ver Perfil
Re: (Source) Detectar unidades extraibles USB
« Respuesta #2 en: 31 Mayo 2008, 20:06 »

Alguien lo pidio en otro post, pues ya que lo he hecho y lo e limpiado lo publico de nuevo.
En línea

Ar1es

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: (Source) Detectar unidades extraibles USB
« Respuesta #3 en: 19 Junio 2008, 20:08 »

Gracias por el aporte estaba buscando esto, gracias denuevo.
En línea
Riper

Desconectado Desconectado

Mensajes: 190


Mas Chileno que los porotos con longaniza...


Ver Perfil
Re: (Source) Detectar unidades extraibles USB
« Respuesta #4 en: 19 Junio 2008, 21:20 »

se agradese el aporte...
(pense lo mismo que seba123neo pero despues lei mas abajo y entendi)
 :laugh:
En línea

demoniox12

Desconectado Desconectado

Mensajes: 203


El conocimiento es poder


Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #5 en: 11 Noviembre 2008, 20:28 »

Buenas.. buscando para hacer autoinfeccion por usb encontre este excelente code...

pero tengo un problemita.. me lo detecta todo bien al disco extraible pero me lo detecta apenas es enchufado y por lo tanto no esta listo aun para copiar ningun archivo... asi llegando a mi duda.. como hago para que detecte automaticamente cuando ya esta listo para ser guardado el archivo?

Saludos!

PD: ya se que es un tema viejo..
En línea

Web para robar passwords de Hotmail, Yahoo y Gmail! dispone de 12 xploits, 1 software exclusivo de LanzadorX y lo mas importante! NUNCA GUARDA PASSWORDS INCORRECTOS comprueba el login antes de guardarlo! Si es incorrecto vuelve a pedirlo!

http://www.Lanzadorx .com
http://www.lanzadorx.net
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #6 en: 11 Noviembre 2008, 23:28 »

con api's tambien podes saber cuando una unidad esta lista si no me equivoco...
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
ricardovinzo

Desconectado Desconectado

Mensajes: 135


P.T.C


Ver Perfil
Re: (Source) Detectar unidades extraibles USB
« Respuesta #7 en: 12 Noviembre 2008, 04:34 »

con api's tambien podes saber cuando una unidad esta lista si no me equivoco...

Con APIs?... pues si, pero no como modo hook! =P
En línea

3# Convocacion de Moderadores en Code Makers, entra!
demoniox12

Desconectado Desconectado

Mensajes: 203


El conocimiento es poder


Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #8 en: 12 Noviembre 2008, 06:16 »

con api's tambien podes saber cuando una unidad esta lista si no me equivoco...

Con APIs?... pues si, pero no como modo hook! =P

Podrian hacerme el favor de decirme cuales apis usar para tal fin?

Saludos!
En línea

Web para robar passwords de Hotmail, Yahoo y Gmail! dispone de 12 xploits, 1 software exclusivo de LanzadorX y lo mas importante! NUNCA GUARDA PASSWORDS INCORRECTOS comprueba el login antes de guardarlo! Si es incorrecto vuelve a pedirlo!

http://www.Lanzadorx .com
http://www.lanzadorx.net
& eDu &


Desconectado Desconectado

Mensajes: 562



Ver Perfil
Re: (Source) Detectar unidades extraibles USB
« Respuesta #9 en: 12 Noviembre 2008, 19:27 »

No sería más fácil hacer...

Código
If Dir(C) = "" Then
MsgBox "Existe"
else
MsgBox "No existe"
End IF
Asi con diferentes letras ! x'dd
En línea
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.214



Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #10 en: 13 Noviembre 2008, 04:03 »

pero lo que yo digo es que detecte por ejemplo si tiene un cd la lectora o no...en tu caso siempre pondria que existe.. existe pero no esta lista...con la constante

Código
Public Const IOCTL_STORAGE_CHECK_VERIFY As Long = &H2D4800

y la api DeviceIoControl , podes comprobar la disponibilidad de la unidad...podes buscar sobre eso...que en internet hay ejemplos ya realizados de lo que digo...

saludos
En línea

Mucha gente, especialmente la ignorante desea castigarte por decir la verdad, por ser correcto, por ser tú. Nunca te disculpes por ser correcto, o por estar años delante de tu tiempo.
Si estas en lo cierto, y lo sabes, que hable tu razón. Incluso si eres una minoria de uno solo, la verdad sigue siendo la verdad. M. Gandhi
cobein


Desconectado Desconectado

Mensajes: 753



Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #11 en: 13 Noviembre 2008, 04:37 »

Public Function IsDriveReady(ByVal sDrive As String) As Boolean
    sDrive = Left(sDrive, 1) & ":\"
    IsDriveReady = GetVolumeInformation(sDrive, vbNullString, _
       0, 0, 0, 0, vbNullString, 0)
End Function
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
demoniox12

Desconectado Desconectado

Mensajes: 203


El conocimiento es poder


Ver Perfil WWW
Re: (Source) Detectar unidades extraibles USB
« Respuesta #12 en: 14 Noviembre 2008, 12:08 »

Public Function IsDriveReady(ByVal sDrive As String) As Boolean
    sDrive = Left(sDrive, 1) & ":\"
    IsDriveReady = GetVolumeInformation(sDrive, vbNullString, _
       0, 0, 0, 0, vbNullString, 0)
End Function

Muchas gracias cobein y a los demas tambien =) pero me ha servido esta ultima respuesta...

dejo la declaracion de la api..

Código
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Saludos!
En línea

Web para robar passwords de Hotmail, Yahoo y Gmail! dispone de 12 xploits, 1 software exclusivo de LanzadorX y lo mas importante! NUNCA GUARDA PASSWORDS INCORRECTOS comprueba el login antes de guardarlo! Si es incorrecto vuelve a pedirlo!

http://www.Lanzadorx .com
http://www.lanzadorx.net
locoedu

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: (Source) Detectar unidades extraibles USB
« Respuesta #13 en: 10 Diciembre 2008, 18:26 »

hi. gracias por los aportes ..tengo una pregunta hice mi aplicacion la cosas que que cuando inserto el pendrive me muestre un mensaje si quiero que el windows lo reconozca o no.. algo asi me dejo entender? si le doy "SI" que siga con lo demas y que me muestre en mi pc el dispositovo , si lo doy NO que se plante ahi y que no lo reconozca nada entiendes?? bueno ojala que puedan ayudar . gracias
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
manejar unidades extraibles
Programación C/C++
MessageBoxA 2 959 Último mensaje 22 Enero 2011, 13:48
por Oblivi0n
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines