Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Karcrack en 31 Octubre 2009, 18:02 pm



Título: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: Karcrack en 31 Octubre 2009, 18:02 pm
Código
  1. 'NTDLL
  2. Private Declare Function NtQueryInformationProcess Lib "NTDLL" (ByVal hProcess As Long, ByVal ProcessInformationClass As Long, ProcessInformation As Any, ByVal ProcessInformationLength As Long, ReturnLength As Long) As Long
  3.  
  4. Private Type PROCESS_DEVICEMAP_INFORMATION
  5.    DriveMap                As Long
  6.    DriveType(1 To 32)      As Byte
  7. End Type
  8.  
  9. Private Const ProcessDeviceMap = 23
  10.  
  11. Public Function NtGetPenDrives() As Collection
  12.    Dim cTMP                As New Collection
  13.    Dim tPDC                As PROCESS_DEVICEMAP_INFORMATION
  14.    Dim i                   As Long
  15.    Dim lMask               As Long
  16.  
  17.    If NtQueryInformationProcess(-1, ProcessDeviceMap, tPDC, Len(tPDC), ByVal 0&) = 0 Then
  18.        For i = 1 To 25
  19.            If tPDC.DriveMap And 2 ^ i Then
  20.                If (tPDC.DriveType(i + 1) = 2) Then
  21.                    cTMP.Add Chr$(65 + i) & ":\"
  22.                End If
  23.            End If
  24.        Next i
  25.    End If
  26.  
  27.    Set NtGetPenDrives = cTMP
  28. End Function
Ejemplo de uso:
Código
  1. Sub Main()
  2.    Dim v                   As Variant
  3.  
  4.    For Each v In NtGetPenDrives
  5.        Debug.Print v
  6.    Next v
  7. End Sub

Notas:
  • No incluye la unidad A:
  • No filtra las unidades por BusType...

Simplemente he hecho una nueva funcion a partir de estas funciones Nativas que hice algun tiempo:
Código:
http://www.advancevb.com.ar/?p=335


Título: Re: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: el_c0c0 en 31 Octubre 2009, 18:18 pm
Interesante, pero por las dudas le cambiaria el nombre de getPendrives, es bastante curiso ver una funcion con ese nombre dentro de un .exe 
:P

en fin, interesante

saludos


Título: Re: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: Karcrack en 31 Octubre 2009, 18:25 pm
Interesante, pero por las dudas le cambiaria el nombre de getPendrives, es bastante curiso ver una funcion con ese nombre dentro de un .exe 
:P

en fin, interesante

saludos
Si bueno, algo como esto?:
Código:
Public Function  () As Collection
Código:
    For Each v In  
        Debug.Print v
    Next v
:rolleyes:

No es un espacio, sino un Chr$(160) :D


De todas formas eso da igual , lo que mola es la forma en que saca la informacion ::) :xD


Título: Re: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: seba123neo en 31 Octubre 2009, 18:39 pm
muy bueno, ahora me hiciste acordar de que tengo que hacer un post unico para juntar todo estos codigos, ahora dentro de un rato me pongo a hacerlo y te aviso que lo postees ahi cuando tengas uno.

saludos.


Título: Re: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: MCKSys Argentina en 31 Octubre 2009, 23:14 pm
Muy bueno!

Gracias por compartir  ;D




Título: Re: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: akrana en 31 Octubre 2009, 23:31 pm
Muy buen code!!Gracias ;D


Título: Re: [NATIVO] NtGetPenDrives, Obtiene la lista de unidades extraibles
Publicado por: agus0 en 1 Noviembre 2009, 18:45 pm
 ;-) ;-) ;-)

Una, me jor dicho 3 :P imagenes dicen mas que 4 palabras :P