[C] ? problema con la estructura FOR

Iniciado por dyn4m0_st4rk, 12 Julio 2010, 05:59 AM

0 Miembros y 1 Visitante están viendo este tema.

dyn4m0_st4rk

Buenas a todos los foreros.

Tengo un problema con el siguiente código.

//prueba by dyn4m0

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main () {
for (int contador=1; contador<=4; contador++) {
system ("start www.elhacker.net");
}
getch ();
}


Se supone que deberia de ejecutarse la web 4 veces.. pero a la hora de ejecutar el exe solo se ejecuta una vez.. ya verifique y no muestra errores, y el codigo parece estar bien...

¿Por qué solo se esta ejecutando la web una vez?

Gracias de antemano ;-)
"El que busca la verdad corre el riesgo de encontrarla".

cbug

Que raro, sinceramente no puedo probarlo ya que no estoy en windows... Probaste agregando un delay entre las apertura de páginas?

leogtz

El código tiene errores:

-Incluyes "conio.h", no es estandard, no debes de incluírla, y menos para solo usar getch(). Utiliza getchar().
-El main debe ser int main().
for (int contador=1; contador<=4; contador++) {
Inicializas una variable dentro de un campo del FOR, que no es permitido en C90.

Que abra la página una sola vez no tiene qué ver con el código en sí, es probable que se deba a la configuración del navegador.

Prueba el código que sigue, a ver como funciona y dinos:

#include <stdio.h>
int main(void)
{
unsigned int i;
for(i = 0; i < 4; i++)
printf("%d ", i);
getchar();
}
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

dyn4m0_st4rk

#3
Sí sirve tu código, muchas gracias por las correcciones.

¿Y cómo configuro el navegador para que ejecute las n veces que yo desee?

No tengo problemas realmente con C... es solo que yo quiero aprender a desarrollar malware, veo que el C puramente no me es muy util para eso, pues lo que debo hacer es combinar el C con el batch con la orden system.

Es por eso que estaba experimentando con los bucles. pero veo que si lo hago en batch si se ejecuta la pagina las veces que quiero, pero en el C no.


Gracias  :laugh:

EI: juntando mensajes.

¿Puede haber problemas si incluyo librerias que estan de más?

Mí código a pesar de tener fallas, se ejecutaba bién, no me daba problemas, reitero que el único fallo esque no se ejecuta la pagina las N veces que solicite.


¿Es tan grave dejar los códigos como el que deje alla arriba?


Saludos
"El que busca la verdad corre el riesgo de encontrarla".

leogtz

No le veo el caso de utilizar C para solo ejecutar una llamada a system(), utiliza Batch directamente.
Cita de: dyn4m0_st4rk en 12 Julio 2010, 07:32 AM
¿Puede haber problemas si incluyo librerias que estan de más?

No, el ejecutable se crearía un poco más grande.
Cita de: dyn4m0_st4rk en 12 Julio 2010, 07:32 AM
¿Es tan grave dejar los códigos como el que deje alla arriba?

Si no te importa absolutamente nada la buena programación así lo puedes dejar.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

nicolas_cof

Cita de: Leo Gutiérrez. en 12 Julio 2010, 08:06 AM
Cita de: dyn4m0_st4rk en 12 Julio 2010, 07:32 AM
¿Puede haber problemas si incluyo librerias que estan de más?

No, el ejecutable se crearía un poco más grande.

Leo Gutiérrez., el tamaño del ejecutable sigue siendo el mismo se incluyan o no librerias de mas. Por lo menos eso tendria que pasar en un compilador decente :P

Salu10.

43H4FH44H45H4CH49H56H45H

Cita de: dyn4m0_st4rk en 12 Julio 2010, 07:32 AMreitero que el único fallo esque no se ejecuta la pagina las N veces que solicite.

Si solo necesitas eso pones esta linea:
WinExec("C:\\Archivos de Programa\\Internet Explorer\\IEXPLORE.EXE www.elhacker.net", SW_MAXIMIZE);

dentro del for y ni hablamos de CreateProcess o variables de entorno para obtener la ruta que no siempre esta en C:\
Necesitas:
#include<windows.h>

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

leogtz

#7
Cita de: nicolas_cof en 12 Julio 2010, 12:38 PM
Cita de: Leo Gutiérrez. en 12 Julio 2010, 08:06 AM
Cita de: dyn4m0_st4rk en 12 Julio 2010, 07:32 AM
¿Puede haber problemas si incluyo librerias que estan de más?

No, el ejecutable se crearía un poco más grande.

Leo Gutiérrez., el tamaño del ejecutable sigue siendo el mismo se incluyan o no librerias de mas. Por lo menos eso tendria que pasar en un compilador decente :P

Salu10.

No creo que tenga un compilador decente.

¿Si no se hace el ejecutable más grande entonces qué pasa?

Bueno, ya me dejaste pensando nicolas_cof, tal vez el tiempo de compilación sería mayor, dado que se le deja más trabajo al preprocesador a arreglas la inclusión múltiple, pero no sé.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

nicolas_cof

Cita de: Leo Gutiérrez. en 12 Julio 2010, 19:20 PM¿Si no se hace el ejecutable más grande entonces qué pasa?

Bueno, ya me dejaste pensando nicolas_cof, tal vez el tiempo de compilación sería mayor, dado que se le deja más trabajo al preprocesador a arreglas la inclusión múltiple, pero no sé.

De seguro que si Leo Gutiérrez., ya que durante la etapa de preprocesado se interpretan las directivas al preprocesador ( como #include, #define, etc. ).

Salu10.

dyn4m0_st4rk

Muchas gracias a todos.

En vista de que mi código esta por los suelos y funciones como WinExec no las conocia....seguire dedicandome a aprender C.


Saludos
"El que busca la verdad corre el riesgo de encontrarla".