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)
| | | | |-+  Duda sobre pipes
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre pipes  (Leído 1,624 veces)
Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Duda sobre pipes
« en: 28 Septiembre 2005, 20:03 pm »

Hola, tengo una duda queria saber si utilizando pipes para interactuar con la shell de windows recibiriamos todas las respuesta, por ejemplo si enviamos un comando y la respuesta es " desea borrar ... ? s/n " recibiriamos la repuesta y podriamos contestar??

Salu2!!
PD: si tienen algun code de pipes a mano me lo pueden pasar? sino no importa.
 


En línea

sr. oscuro

Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: Duda sobre pipes
« Respuesta #1 en: 1 Octubre 2005, 01:33 am »

Para que no se pierda XDD


En línea

sr. oscuro

NYlOn


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: Duda sobre pipes
« Respuesta #2 en: 1 Octubre 2005, 01:40 am »

che Oscuro, no hace falta mandar msgs para que tu thread kede arriva, si nadie lo contesto es pq nadie sabe la respuesta, o pq ya se hablo mucho del tema....

Y te doy un consejo, no te cierres a las respuestas del foro, no te des x vencido si nadie sabe una respuesta, busca x Google, otros foros, en este mismos foro, disitintas paginas... muchas veces se dan respuestas totalmente erroneas y uno se piensa que no su problema no puede ser solucionado, x eso tenes q recurrir a otras fuentes... no te kedes trabado x un simple post no respondido...

un abraz0

G0nz4


PD: no tengo idea lo que hacen las pipes xDDDD
En línea

Manibal_man


Desconectado Desconectado

Mensajes: 528



Ver Perfil
Re: Duda sobre pipes
« Respuesta #3 en: 1 Octubre 2005, 02:14 am »

Citar
Hola, tengo una duda queria saber si utilizando pipes para interactuar con la shell de windows recibiriamos todas las respuesta, por ejemplo si enviamos un comando y la respuesta es " desea borrar ... ? s/n " recibiriamos la repuesta y podriamos contestar??

ahas, se puede...
aca va un code que postearon alguna vez en hackxcrack:

Código:
'Crear Tunel
      Public Declare Function CreatePipe Lib "kernel32" ( _
          phReadPipe As Long, _
          phWritePipe As Long, _
          lpPipeAttributes As Any, _
          ByVal nSize As Long) As Long
     
      'Leer Tunel
      Public Declare Function ReadFile Lib "kernel32" ( _
          ByVal hFile As Long, _
          ByVal lpBuffer As String, _
          ByVal nNumberOfBytesToRead As Long, _
          lpNumberOfBytesRead As Long, _
          ByVal lpOverlapped As Any) As Long
     
      'Esto lo usa la funcion CreateProcessA
      Public Type SECURITY_ATTRIBUTES
          nLength As Long
          lpSecurityDescriptor As Long
          bInheritHandle As Long
      End Type
     
      'Esto lo usa la funcion CreateProcessA
      Public Type STARTUPINFO

          cb As Long
          lpReserved As Long
          lpDesktop As Long
          lpTitle As Long
          dwX As Long
          dwY As Long
          dwXSize As Long
          dwYSize As Long
          dwXCountChars As Long
          dwYCountChars As Long
          dwFillAttribute As Long
          dwFlags As Long
          wShowWindow As Integer
          cbReserved2 As Integer
          lpReserved2 As Long
          hStdInput As Long
          hStdOutput As Long
          hStdError As Long
      End Type
     
      'Esto lo usa la funcion CreateProcessA
      Public Type PROCESS_INFORMATION
          hProcess As Long
          hThread As Long
          dwProcessId As Long
          dwThreadID As Long
      End Type
     
      'Esta funcion lanza el proceso y
      'devuelve sus datos a traves de PROCESS_INFORMATION
      Public Declare Function CreateProcessA Lib "kernel32" ( _
          ByVal lpApplicationName As Long, _
          ByVal lpCommandLine As String, _
          lpProcessAttributes As SECURITY_ATTRIBUTES, _
          lpThreadAttributes As SECURITY_ATTRIBUTES, _
          ByVal bInheritHandles As Long, _
          ByVal dwCreationFlags As Long, _
          ByVal lpEnvironment As Long, _
          ByVal lpCurrentDirectory As Long, _
          lpStartupInfo As STARTUPINFO, _
          lpProcessInformation As PROCESS_INFORMATION) As Long
     
      'Cierra el tunel
      Public Declare Function CloseHandle Lib "kernel32" ( _
          ByVal hHandle As Long) As Long
     
      'Constantes necesarias para lo de antes
      Public Const NORMAL_PRIORITY_CLASS = &H20&
      Public Const STARTF_USESTDHANDLES = &H100&
      Public Const STARTF_USESHOWWINDOW = &H1
     
     

Public Function Cmdd(ByVal Comando As String) As String
      On Error GoTo ACAGAR
          Dim proc As PROCESS_INFORMATION     'Informacion de CreateProcessA
          Dim ret As Long                     'Esto se usa para obtener el retorno de las
                                              'funciones API
          Dim start As STARTUPINFO            'Informacion de inicio para CreateProcessA
     
          Dim sa As SECURITY_ATTRIBUTES       'Atributos de seguridad para
                                              'CreateProcessA
          Dim hReadPipe As Long               'Lectura de Tunel
          Dim hWritePipe As Long              'Escritura de Tunel
          Dim lngBytesread As Long            'Cantidad de Bytes leidos
          Dim strBuff As String * 256         'Buffer de lectura de tunel
     
          'Creamos el tunel...
          sa.nLength = Len(sa)
          sa.bInheritHandle = 1&
          sa.lpSecurityDescriptor = 0&
          ret = CreatePipe(hReadPipe, hWritePipe, sa, 0)
         
          If ret = 0 Then
              'Si falla la creacion del tunel
              Cmdd = "Fallo de Conexion con Proceso. Error: " & Err.LastDllError
              Exit Function
          End If
         
          'Lanzamos el interprete de comandos...
          start.cb = Len(start)
          start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW
          start.hStdOutput = hWritePipe
          start.hStdError = hWritePipe
          'Buscar la ruta del CMD.exe y añadir /c y el comando
          mCommand = Environ("COMSPEC") + " /c " + Comando
          'Creamos el proceso usando la String mCommand de antes...
          'y obtenemos RET para saber si se ha ejecutado
          ret& = CreateProcessA(0&, mCommand, sa, sa, 1&, _
              NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
             
          If ret <> 1 Then
              'si no se encuentra el comando...
              Cmdd = "Archivo o Comando no encontrado"
              Exit Function
          End If
         
          'Cerramos el tunel
          ret = CloseHandle(hWritePipe)
          mOutputs = ""
         
          'lo leemos
          Do
              ret = ReadFile(hReadPipe, strBuff, 256, lngBytesread, 0&)
              mOutputs = mOutputs & Left(strBuff, lngBytesread)
          Loop While ret <> 0
         
          'cerramos los Handles (controladores)
          ret = CloseHandle(proc.hProcess)
          ret = CloseHandle(proc.hThread)
          ret = CloseHandle(hReadPipe)
         
          'y hacemos que la funcion devuelva el resultado del comando a traves
          ' de la string mOutputs
          Cmdd = mOutputs
          Exit Function
ACAGAR:
          Cmdd = "Error:" + Err.Description
      End Function

y se usa asi:

Código:
response=cmdd("net view") 

Donde "response" es la respuesta del comando, claro está.

Saludos
En línea

:: I was born ready motha fucka ::
Chief

Desconectado Desconectado

Mensajes: 232


Ind. Arg.


Ver Perfil
Re: Duda sobre pipes
« Respuesta #4 en: 1 Octubre 2005, 04:08 am »

Gracias Manibal_man :D  y bueno ta bien tenes razon NylOn es que como veia que se les contastaba a todos los otros y ami no y ya estaba en el ultimo mi post, no queria que se pasara a la segunda hoja, ya que diganme, ¿¿¿ Cuantas veces se han pasado, o pegado una vuelta por la hoja 2 ??

Salu2!! y gracias de buelta.
En línea

sr. oscuro

Páginas: [1] Ir Arriba Respuesta Imprimir 

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