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 C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  quien me ayuda con este codigo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: quien me ayuda con este codigo  (Leído 3,141 veces)
_alexis_

Desconectado Desconectado

Mensajes: 6


Ver Perfil
quien me ayuda con este codigo
« en: 28 Abril 2010, 23:54 pm »

#include <windows.h>
#include <stdio.h>

#define BUFSIZE 4096

HANDLE hChildStdoutRd, hChildStdoutWr, hStdout;

BOOL CreateChildProcess (char *cmdline) {

   PROCESS_INFORMATION piProcInfo;
   STARTUPINFO siStartInfo;
   BOOL bFuncRetn = FALSE;

   // Set up members of the PROCESS_INFORMATION structure.
   ZeroMemory (&piProcInfo, sizeof (PROCESS_INFORMATION));

   // Set up members of the STARTUPINFO structure.
   ZeroMemory (&siStartInfo, sizeof (STARTUPINFO));
   siStartInfo.cb = sizeof (STARTUPINFO);
   siStartInfo.hStdError = hChildStdoutWr;
   siStartInfo.hStdOutput = hChildStdoutWr;
   siStartInfo.dwFlags |= STARTF_USESTDHANDLES;

   // Create the child process.
   bFuncRetn = CreateProcess (NULL, cmdline="notepad.exe", NULL, NULL, TRUE, 0, NULL,
                     NULL, &siStartInfo, &piProcInfo);

   if (bFuncRetn == 0) {
      printf ("CreateProcess failed\n");
      return FALSE;
   } else {
      CloseHandle (piProcInfo.hProcess);
      CloseHandle (piProcInfo.hThread);
      return bFuncRetn;
   }
}

int ReadFromPipe () {

   DWORD dwRead, dwWritten;
   char chBuf[BUFSIZE];

   // Close the write end of the pipe before reading from the
   // read end of the pipe.
   if (!CloseHandle (hChildStdoutWr)) {
      printf ("Closing handle failed");
      return -1;
   }

   // Read output from the child process, and write to parent's STDOUT.
   for (;;) {

      if (! ReadFile (hChildStdoutRd, chBuf, BUFSIZE, &dwRead, NULL)
         || dwRead == 0)
      {
         break;
      }

      if (! WriteFile (hStdout, chBuf, dwRead, &dwWritten, NULL))
         break;
   }

   return 0;
}

int main (int argc, char *argv[]) {

   SECURITY_ATTRIBUTES saAttr;
   BOOL fSuccess;

   // Get a handle to the parent's input file.
   if (argc == 1) {
      printf ("Must be a parameter.\n");
      return -1;
   }
   // Set the bInheritHandle flag so pipe handles are inherited.
   saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
   saAttr.bInheritHandle = TRUE;
   saAttr.lpSecurityDescriptor = NULL;

   // Get the handle to the current STDOUT.
   hStdout = GetStdHandle (STD_OUTPUT_HANDLE);

   // Create a pipe for the child process's STDOUT.
    if (! CreatePipe (&hChildStdoutRd, &hChildStdoutWr, &saAttr, 0))
      return -2;

   // Ensure that the read handle to the child process's pipe for
   // STDOUT is not inherited.
   SetHandleInformation (hChildStdoutRd, HANDLE_FLAG_INHERIT, 0);

   // Now create the child process.
   fSuccess = CreateChildProcess (argv[1]);
   if (! fSuccess)
      return -3;

   printf ("\nContents of %s:\n\n", argv[1]);

   // Read from pipe that is the standard output for child process.
    ReadFromPipe ();

   return 0;
}



lo q necesito es darle paramatros al programa pero no caxo como ???


En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: quien me ayuda con este codigo
« Respuesta #1 en: 29 Abril 2010, 00:28 am »

Para recibir parametros en el programa utilizas los que recibe el main

Código
  1. int main (int argc, char *argv[]) {
  2.  

de echo aquí lo estás usando , deduzco que te has copiado este código de algún sitio
Código
  1. CreateChildProcess (argv[1]);
  2.  


« Última modificación: 29 Abril 2010, 00:30 am por Didacso » En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
_alexis_

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: quien me ayuda con este codigo
« Respuesta #2 en: 29 Abril 2010, 01:32 am »

si pero no le pasa ningun parametro
En línea

Gallu

Desconectado Desconectado

Mensajes: 247



Ver Perfil
Re: quien me ayuda con este codigo
« Respuesta #3 en: 29 Abril 2010, 09:01 am »

si pero no le pasa ningun parametro


Explicate mejor , te he dicho como recibir los parámetros en el programa , para pasarselos lo haces escribiendo  nombre_programa.exe param1 param2 , etc....
En línea

Nadie alcanza la meta con un solo intento, ni perfecciona la vida con una sola rectificación, ni alcanza altura con un solo vuelo.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
quien me ayuda con este dll ? :(
Ingeniería Inversa
{/col:/}Kisin{/col/} 6 2,981 Último mensaje 20 Enero 2014, 20:46 pm
por Shell Root
quien me ayuda a eliminar la licencia de este bot
Ingeniería Inversa
efren315 1 1,935 Último mensaje 19 Noviembre 2015, 20:56 pm
por MCKSys Argentina
quien me ayuda con este problema de c
Programación C/C++
matrix1566 5 2,742 Último mensaje 3 Abril 2017, 00:35 am
por Kenji-chan
Quién me ayuda convirtiendo este código de c a c++, please!
Programación C/C++
R6al L9ve 2 3,526 Último mensaje 20 Noviembre 2021, 00:00 am
por .xAk.
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines