Autor
|
Tema: [NTDLL-NATIVE] Alternativa GetLogicalDrives y mas{NtQueryInformationProcess} (Leído 4,365 veces)
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Option Explicit '--------------------------------------------------------------------------------------- ' Module : mNativeGetDrives ' Author : Karcrack ' Date : 09/09/2009 ' Purpose : Alternative to GetLogicalDrives/GetLogicalDriveStrings/GetDriveType ' using NATIVE APIs!!!! ' Thanks : SkyWeb -> Tester =P ' ChangeLog : ' - First release 090909 ' - Improved, now with structure and added NtGetDriveType 100909 '--------------------------------------------------------------------------------------- '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 NtGetLogicalDrives() As Long Dim tPDC As PROCESS_DEVICEMAP_INFORMATION If NtQueryInformationProcess(-1, ProcessDeviceMap, tPDC, Len(tPDC), ByVal 0&) = 0 Then NtGetLogicalDrives = tPDC.DriveMap End If End Function Public Function NtGetLogicalDrivesStrings() As String Dim lUnits As Long Dim i As Long lUnits = NtGetLogicalDrives For i = 0 To 25 If lUnits And 2 ^ i Then NtGetLogicalDrivesStrings = NtGetLogicalDrivesStrings & Chr$(Asc("A") + i) & ":\" & Chr$(0) End If Next i End Function Public Function NtGetDriveType(ByVal nDrive As String) As Long Dim tPDC As PROCESS_DEVICEMAP_INFORMATION Dim lNumb As Long If NtQueryInformationProcess(-1, ProcessDeviceMap, tPDC, Len(tPDC), ByVal 0&) = 0 Then lNumb = Asc(Left$(UCase$(nDrive), 1)) - Asc("A") If Not lNumb > 31 Then NtGetDriveType = tPDC.DriveType(lNumb + 1) End If End If End Function
Un ejemplo de uso aqui:http://www.advancevb.com.ar/wp-content/2009/09/mNativeGetVersion.zip Saludos
|
|
« Última modificación: 10 Septiembre 2009, 02:05 am por Karcrack »
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Actualizado!Le he añadido NtGetDriveType...Y la estructura, para que quede mas claro lo que hace
|
|
|
En línea
|
|
|
|
fede_cp
Desconectado
Mensajes: 527
"porque pensar nunca fue entender"
|
muy buen post, como pregunto, tambien agradezco, ya que la mayoria de los topics, hay discución, un post realmente bueno hay que felicitar!
gracias karcrack
saludos
|
|
|
En línea
|
somos lo que hacemos para cambiar lo que somos
http://elhackerblog.blogspot.com el blog de elhacker.net!!
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
De nada fede_cp Es raro... apenas nadie ha posteado en este codigo (lo he posteado en mas foros), por lo visto estan ocupados Se acaban las vacaciones Aunque bueno, si no dicen nada me lo tomare como que no hay nada que mejorar Saludos
|
|
|
En línea
|
|
|
|
aaronduran2
|
La verdad es que tus códigos son buenísimos. Y gracias por compartirlo
|
|
|
En línea
|
|
|
|
agus0
Desconectado
Mensajes: 360
|
Muy buen condigo... Gracias por compartirlo
|
|
|
En línea
|
|
|
|
[Zero]
Wiki
Desconectado
Mensajes: 1.082
CALL DWORD PTR DS:[0]
|
Bueno código, seguro que las nativas son menos detectadas . Saludos PD: Hazlo en C capullo .
|
|
|
En línea
|
“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza. Nietzsche
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
PD: Hazlo en C capullo . Hacerlo en C no supone ningun reto... Ademas, seguro que debe haber codigos similares a este ya en C... (Para drivers y tal...) en VB no encontraras mas que este
Gracias a todos por responder
|
|
|
En línea
|
|
|
|
XcryptOR
Desconectado
Mensajes: 228
|
karkrack tu sabes que este tipo de codigo no tienen muchos comentarios pues para la mayoria de usuarios de este foro es muy avanzada, la gran mayoria se quedaron estancados en cosas relativas a infección por messenger o a troyanos, bueno y como dices en C no supone reto desde c se hace lo que a uno le venga en gana, pisando el terreno de VB es dificil y hay poca o ninguna documentación al respecto. Ya lo habia visto en HH, y la verdad como todos tus trabajos con Apis nativas muy bueno, yo tambien me adentre en el terreno de las apis nativas y hay algunas que se prestan para cosas geniales, lastima que como no hay suficiente documentacion y tambien a mis limitados conocimientos en memoria desde VB, no he podido hacerlas trabajar. ahhh un punto a favor es que conoces bien el asm y yo apenas lo basico, saludos man eres grande
|
|
« Última modificación: 12 Septiembre 2009, 22:40 pm por XcryptOR »
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.416
Se siente observado ¬¬'
|
Gracias por el apoyo XcryptOR
|
|
|
En línea
|
|
|
|
|
|