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

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ejecutar .exe desde C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejecutar .exe desde C++  (Leído 17,788 veces)
XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Ejecutar .exe desde C++
« en: 7 Noviembre 2010, 20:13 pm »

Hola a todos. Me gustaría saber cómo puedo hacer para ejecutar un exe desde C++ y obtener su salida para luego poderla tratar con mi programa.

¡Muchas gracias y un saludo!


En línea

madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.912



Ver Perfil WWW
Re: Ejecutar .exe desde C++
« Respuesta #1 en: 7 Noviembre 2010, 20:59 pm »

Si mal no me acuerdo se puede hacer con system() o con CreateProcess, con system seria algo como :

Código
  1. system("C:\capeta\mi_programa.exe")

Corregidme si me equivoco.


En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.706


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Ejecutar .exe desde C++
« Respuesta #2 en: 7 Noviembre 2010, 21:13 pm »

Pero si mal no recuerdo debería ser así,
Código
  1. system("C:\\PoC\\capeta\\NOTAS.exe");

Pero no sé si se puede obtener el resultado, -como lo hace php-
obtener su salida para luego poderla tratar con mi programa.
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Ejecutar .exe desde C++
« Respuesta #3 en: 7 Noviembre 2010, 23:49 pm »

Hola, gracias por responder.

He buscado ambas funciones y ninguna de las dos devuelve el resultado...system solamente devuelve 0, que significa que lo ha ejecutado con exito...

A ver si alguien conoce alguna función más...
En línea

BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 3.142


I'Love...!¡.


Ver Perfil WWW
Re: Ejecutar .exe desde C++
« Respuesta #4 en: 8 Noviembre 2010, 00:04 am »

.
Interceptando las salidas del debug...

Dulces Lunas!¡.
En línea




CScript (Actualizado 26/06/2013).

FileX <-- Re-modelando...
Web Principal-->[ Blog(VB6/C/C++) | Host File | Scan Port) ]

The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilit y el metal mi relig
XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Ejecutar .exe desde C++
« Respuesta #5 en: 8 Noviembre 2010, 09:16 am »

Como que el debug? Te refieres al debug que sirve para depurar los programas? Pero yo lo que quiero es un programa que llame a otro y realice ciertas operaciones sobre la salida del otro, cómo haría para llamar al debug y que me devuelva los resultados?
En línea

piou

Desconectado Desconectado

Mensajes: 25


Ver Perfil
Re: Ejecutar .exe desde C++
« Respuesta #6 en: 8 Noviembre 2010, 14:49 pm »

Yo eso lo hacía redireccionando la salida a un archivo y leyendolo desde el programa, por ejemplo, este programa que ejecuta en linux el gcc y compila un archivo, y luego saca los errores, este justo es bastante inutil pero sirve como ejemplo:

Este es el programa:
Código:
#include <stdio.h>

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

system("gcc acompilar.c -o Main > archivo.txt 2>&1");
FILE *fichero;
    char letra;

    fichero = fopen("archivo.txt","r");
    if (fichero==NULL)
       {
       printf( "No se puede abrir el fichero.\n" );
       exit( 1 );
       }
    printf( "Contenido del fichero:\n" );
    letra=getc(fichero);
    while (feof(fichero)==0)
          {
          printf( "%c",letra );
          letra=getc(fichero);
          }
    if (fclose(fichero)!=0)
{
       printf( "Problemas al cerrar el fichero\n" );
    }

return 0;
}

Este es el archivo en C que le paso al gcc, con un fallo para que haya salida por stderr
Código:
#include <stdio.h>

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

printf(FALLOGARRAFAL);
return 0;
}

Si ejecutamos el programa se obtiene:
Código:
laptop:~$ ./a.out
Contenido del fichero:
acompilar.c: In function ‘main’:
acompilar.c:6: error: ‘FALLOGARRAFAL’ undeclared (first use in this function)
acompilar.c:6: error: (Each undeclared identifier is reported only once
acompilar.c:6: error: for each function it appears in.)

Y efectivamente en el archivo archivo.txt tenemos los fallos que nos ha mostrado antes.
Código:
acompilar.c: In function ‘main’:
acompilar.c:6: error: ‘FALLOGARRAFAL’ undeclared (first use in this function)
acompilar.c:6: error: (Each undeclared identifier is reported only once
acompilar.c:6: error: for each function it appears in.)
En línea

MazarD
Colaborador
***
Desconectado Desconectado

Mensajes: 885


mazard.info


Ver Perfil WWW
Re: Ejecutar .exe desde C++
« Respuesta #7 en: 8 Noviembre 2010, 15:17 pm »


-CreatePipe
-CreateProcess
-En el startupinfo de createprocess asignas tu pipe a la salida estandar (hStdOutput)
-ReadFile sobre la pipe

Investiga sobre pipes, en google o la msdn seguro que hay mucha información al respecto

Saludos!
En línea

-Learn as if you were to live forever, live as if you were to die tomorrow-

http://www.mazard.info
http://twitter.com/MazarD
irc://irc.freenode.org/elhacker.net
XafiloX

Desconectado Desconectado

Mensajes: 130


Ver Perfil
Re: Ejecutar .exe desde C++
« Respuesta #8 en: 8 Noviembre 2010, 17:57 pm »

Ummm...he empezado a buscar sobre pipes y me estoy dando cuenta de que es un auténtico mundo por descubrir...Cuando consiga hacer el programilla os lo digo por aquí.

Un saludo y ¡¡muchísimas gracias por la ayuda!!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ejecutar desde usb
Análisis y Diseño de Malware
apprentize 1 1,985 Último mensaje 24 Noviembre 2010, 12:33 pm
por Karcrack
[Solucionado] Ejecutar .exe desde VB6
Programación Visual Basic
Hurubnar 6 20,725 Último mensaje 2 Enero 2011, 01:35 am
por Psyke1
Ejecutar wifiway desde tarjeta SD
Wireless en Linux
hobuss 1 2,415 Último mensaje 4 Mayo 2011, 15:34 pm
por Pac0 2
Ejecutar Porcedimiento almacenado desde C#
.NET (C#, VB.NET, ASP)
proteus8 0 1,056 Último mensaje 12 Septiembre 2013, 20:53 pm
por proteus8
Ejecutar una instrucción del cmd desde C#
.NET (C#, VB.NET, ASP)
el_doctor 1 5,655 Último mensaje 18 Septiembre 2013, 23:18 pm
por Shell Root
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines