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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [m][PEB] Leer cadenas interesantes del PEB (Mi Ruta, CommandLine y mas)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [m][PEB] Leer cadenas interesantes del PEB (Mi Ruta, CommandLine y mas)  (Leído 2,981 veces)
Karcrack


Desconectado Desconectado

Mensajes: 2.416


Se siente observado ¬¬'


Ver Perfil
[m][PEB] Leer cadenas interesantes del PEB (Mi Ruta, CommandLine y mas)
« en: 24 Septiembre 2009, 18:40 pm »

Código
  1. Option Explicit
  2.  
  3. 'KERNEL32
  4. Private Declare Function lstrcpyW Lib "KERNEL32" (ByVal lpString1 As Long, ByVal lpString2 As Long) As Long
  5. 'NTDLL
  6. Private Declare Function RtlGetCurrentPeb Lib "NTDLL" () As Long
  7. 'MSVBVM60
  8. Private Declare Sub GetMem4 Lib "MSVBVM60" (ByVal Addr As Long, ByRef RetVal As Long)
  9.  
  10. Public Enum STRING_TYPE
  11.    CurrentDirectoryPath = &H28
  12.    DllPath = &H34
  13.    ImagePathName = &H3C
  14.    CommandLine = &H44
  15.    WindowTitle = &H74
  16.    DesktopName = &H7C
  17.    ShellInfo = &H80
  18.    RuntimeData = &H84
  19. End Enum
  20.  
  21. '---------------------------------------------------------------------------------------
  22. ' Procedure : GetUPPString
  23. ' Author    : Karcrack
  24. ' Date      : 24/09/2009
  25. ' Purpose   : Get strings from PEB.RTL_USER_PROCESS_PARAMETERS
  26. '---------------------------------------------------------------------------------------
  27. '
  28. Public Sub GetUPPString(ByRef sRet As String, ByVal lType As STRING_TYPE)
  29.    Dim lUPP        As Long         'RTL_USER_PROCESS_PARAMETERS
  30.    Dim lAddr       As Long         'RTL_USER_PROCESS_PARAMETERS.X
  31.  
  32.    Call GetMem4(RtlGetCurrentPeb + &H10, lUPP)
  33.    Call GetMem4(lUPP + lType, lAddr)
  34.    Call lstrcpyW(StrPtr(sRet), lAddr)
  35. End Sub

Ejemplo de uso:
Código
  1. Sub Main()
  2.    Dim sStr        As String * 260
  3.  
  4.    Call GetUPPString(sStr, ImagePathName)
  5.  
  6.    MsgBox "MiRuta:" & vbCrLf & sStr
  7. End Sub

Minimalista al maximo ;D

Cualquier duda preguntad  ;)


« Última modificación: 13 Marzo 2011, 20:26 pm por Karcrack » En línea

[Zero]
Wiki

Desconectado Desconectado

Mensajes: 1.082


CALL DWORD PTR DS:[0]


Ver Perfil WWW
Re: [m][PEB] Leer cadenas interesantes del PEB (Mi Ruta, CommandLine y mas)
« Respuesta #1 en: 24 Septiembre 2009, 21:04 pm »

Muy bueno Karcrack, vi algunso post tuyos y de cobein creo que tambien en el que leeis el peb, pero no me había fijado, está curiosa la api GetMem4  :P.

Saludos  ;)


En línea


“El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

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