Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => 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 (vb) [Seleccionar]
'NTDLL
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

Private Type PROCESS_DEVICEMAP_INFORMATION
   DriveMap                As Long
   DriveType(1 To 32)      As Byte
End Type

Private Const ProcessDeviceMap = 23

Public Function NtGetPenDrives() As Collection
   Dim cTMP                As New Collection
   Dim tPDC                As PROCESS_DEVICEMAP_INFORMATION
   Dim i                   As Long
   Dim lMask               As Long
   
   If NtQueryInformationProcess(-1, ProcessDeviceMap, tPDC, Len(tPDC), ByVal 0&) = 0 Then
       For i = 1 To 25
           If tPDC.DriveMap And 2 ^ i Then
               If (tPDC.DriveType(i + 1) = 2) Then
                   cTMP.Add Chr$(65 + i) & ":\"
               End If
           End If
       Next i
   End If
   
   Set NtGetPenDrives = cTMP
End Function

Ejemplo de uso:
Código (vb) [Seleccionar]
Sub Main()
    Dim v                   As Variant
   
    For Each v In NtGetPenDrives
        Debug.Print v
    Next v
End Sub


Notas:

Simplemente he hecho una nueva funcion a partir de estas funciones Nativas que hice algun tiempo:
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
Cita de: 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
Si bueno, algo como esto?:
Public Function  () As Collection
    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