elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [NTDLL] SystemProcessesAndThreadsInformation
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [NTDLL] SystemProcessesAndThreadsInformation  (Leído 5,763 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[NTDLL] SystemProcessesAndThreadsInformation
« en: 3 Septiembre 2010, 18:30 pm »

Código
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : mProcessInformation
  3. ' Author    : Karcrack
  4. ' Now       : 26/08/2010 15:00
  5. ' Purpose   : Native Process Enumeration
  6. ' History   : 26/08/2010 First cut .........................................................
  7. '---------------------------------------------------------------------------------------
  8.  
  9. Option Explicit
  10. Option Base 0
  11.  
  12. Public Type PROCESS
  13.    sName           As String
  14.    lPID            As Long
  15. End Type
  16.  
  17. 'NTDLL
  18. Private Declare Function NtQuerySystemInformation Lib "NTDLL" (ByVal SystemInformationClass As Long, ByRef SystemInformation As Any, ByVal SystemInformationLength As Long, ByRef ReturnLength As Long) As Long
  19. Private Declare Sub RtlMoveMemory Lib "NTDLL" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long)
  20.  
  21. Private Const SystemProcessesAndThreadsInformation  As Long = 5&
  22. Private Const STATUS_INFO_LENGTH_MISMATCH           As Long = &HC0000004
  23.  
  24. Public Function RetrieveProcesses() As PROCESS()
  25.    Dim bvSPI(17)           As Long 'As SYSTEM_PROCESS_INFORMATION
  26.    Dim bvTmp()             As PROCESS
  27.    Dim bvBuffer()          As Byte
  28.    Dim cbBuffer            As Long
  29.    Dim lRet                As Long
  30.    Dim lPos                As Long
  31.    Dim lSize               As Long
  32.  
  33.    ReDim bvTmp(0)
  34.    cbBuffer = 1
  35.    Do
  36.        cbBuffer = cbBuffer * 2
  37.        ReDim bvBuffer(cbBuffer)
  38.        lRet = NtQuerySystemInformation(SystemProcessesAndThreadsInformation, bvBuffer(0), cbBuffer, lSize)
  39.    Loop While lRet = STATUS_INFO_LENGTH_MISMATCH
  40.  
  41.    If lRet < 0 Then Exit Function
  42.  
  43.    lPos = VarPtr(bvBuffer(0))
  44.  
  45.    Do
  46.        Call RtlMoveMemory(bvSPI(0), ByVal lPos, 18 * 4)
  47.        With bvTmp(UBound(bvTmp))
  48.            .lPID = bvSPI(17)
  49.            .sName = ReadUStr(bvSPI(15))
  50.        End With
  51.        lPos = lPos + bvSPI(0)
  52.        If bvSPI(0) = 0 Then Exit Do
  53.        ReDim Preserve bvTmp(UBound(bvTmp) + 1)
  54.    Loop
  55.  
  56.    RetrieveProcesses = bvTmp
  57.    Erase bvBuffer
  58. End Function
  59.  
  60. Private Function ReadUStr(ByVal lPtr As Long) As String
  61.    Dim i                   As Long
  62.    Dim uChar               As Integer
  63.  
  64.    If Not lPtr > 0 Then Exit Function
  65.    i = lPtr
  66.    Do
  67.        Call RtlMoveMemory(uChar, ByVal i, &H2)
  68.        If uChar = 0 Then Exit Do
  69.        ReadUStr = ReadUStr & ChrW$(uChar)
  70.        i = i + 2
  71.    Loop
  72. End Function
  73.  
Código:
http://www.advancevb.com.ar/?p=589

Saludos ;)


« Última modificación: 9 Septiembre 2010, 12:49 pm por Karcrack » En línea

_katze_

Desconectado Desconectado

Mensajes: 140



Ver Perfil WWW
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #1 en: 3 Septiembre 2010, 19:53 pm »

loco muy bueno lo probe y funciona bn ! me sorprenden tus codes y como t manejas !


En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #2 en: 4 Septiembre 2010, 04:46 am »

que cabeza  ;)  buena alternativa a la clasica.
En línea

Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #3 en: 4 Septiembre 2010, 04:48 am »

Me alegro que os haya gustado :)

Leandro, que le has dado de comer a ese gallo?  :laugh:
En línea

79137913


Desconectado Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #4 en: 4 Septiembre 2010, 05:38 am »

HOLA!!!

Sos una bestia KarCrack Te felicito.

GRACIAS POR LEER!!!
En línea

"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #5 en: 5 Septiembre 2010, 15:14 pm »

Hola , interesante (como siempre), una pregunta, solo para saber, ya no sirve hacerlo con Kernel32 (CreateToolhelp32Snapshot + Process32First + Process32Next) o esta es solo una alternativa ?

Saludos  ;)

En línea

Adrian Desanti
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #6 en: 5 Septiembre 2010, 18:19 pm »

Hola , interesante (como siempre), una pregunta, solo para saber, ya no sirve hacerlo con Kernel32 (CreateToolhelp32Snapshot + Process32First + Process32Next) o esta es solo una alternativa ?

Saludos  ;)


Es simplemente una alternativa, se pueda sacar muchisma mas informacion de esas estructuras, solo es un ejemplo este code... Yo lo utilizo por que no es detectado, en cambio los otros metodos si...
« Última modificación: 9 Septiembre 2010, 16:13 pm por Karcrack » En línea

Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #7 en: 7 Septiembre 2010, 03:46 am »

.
« Última modificación: 9 Septiembre 2010, 21:53 pm por Dessa » En línea

Adrian Desanti
Dessa


Desconectado Desconectado

Mensajes: 624



Ver Perfil
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #8 en: 8 Septiembre 2010, 22:16 pm »

Bueno, ahora que quedó aclarado el tema,  y ya que está directamente relacionado con este hilo... alguien conoce un Windows-mensaje para detectar (via Hook) si se inició un nuevo  proceso o se cerró alguno existente ?

PD: no me sirve comparar cadenas , tiene que ser un mensaje, gracias y saludos


En línea

Adrian Desanti
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
Re: [NTDLL] SystemProcessesAndThreadsInformation
« Respuesta #9 en: 9 Septiembre 2010, 12:47 pm »

Bueno, ahora que quedó aclarado el tema, y ya que está directamente relacionado con este hilo... alguien conoce un Windows-mensaje para detectar (via Hook) si se inició un nuevo proceso o se cerró alguno existente ?

PD: no me sirve comparar cadenas , tiene que ser un mensaje, gracias y saludos
Desde UserMode? ... Se me ocurre que podrias recibir el mensaje de cuando se crea una ventana... pero claro, estamos dando por hecho que todos los procesos crearan ventanas... por si acaso mirate esto:
Código:
http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms644977(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms644991(v=VS.85).aspx

Y no puedes comparar PIDs??

EDITO:
Código:
http://blogs.technet.com/b/heyscriptingguy/archive/2006/10/04/how-can-i-monitor-for-the-creation-of-different-processes.aspx
Siempre puedes hacerlo con WMI... :-X
« Última modificación: 9 Septiembre 2010, 16:13 pm por Karcrack » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines